+ {
+ comment: "container log webdav GET root",
+ method: "GET",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID + "/",
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "GET",
+ Header: http.Header{"Authorization": {"Bearer " + arvadostest.ActiveToken}},
+ Path: "/" + arvadostest.CompletedContainerUUID + "/"}},
+ },
+ {
+ comment: "container log webdav GET root without trailing slash",
+ method: "GET",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID + "",
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "GET",
+ Header: http.Header{"Authorization": {"Bearer " + arvadostest.ActiveToken}},
+ Path: "/" + arvadostest.CompletedContainerUUID}},
+ },
+ {
+ comment: "container log webdav OPTIONS root",
+ method: "OPTIONS",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID + "/",
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "OPTIONS",
+ Header: http.Header{"Authorization": {"Bearer " + arvadostest.ActiveToken}},
+ Path: "/" + arvadostest.CompletedContainerUUID + "/"}},
+ },
+ {
+ comment: "container log webdav OPTIONS root without trailing slash",
+ method: "OPTIONS",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID,
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "OPTIONS",
+ Header: http.Header{"Authorization": {"Bearer " + arvadostest.ActiveToken}},
+ Path: "/" + arvadostest.CompletedContainerUUID}},
+ },
+ {
+ comment: "container log webdav OPTIONS for CORS",
+ unauthenticated: true,
+ method: "OPTIONS",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID + "/",
+ header: http.Header{"Access-Control-Request-Method": {"POST"}},
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "OPTIONS",
+ Header: http.Header{
+ "Access-Control-Request-Method": {"POST"},
+ },
+ Path: "/" + arvadostest.CompletedContainerUUID + "/"}},
+ },
+ {
+ comment: "container log webdav PROPFIND root",
+ method: "PROPFIND",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID + "/",
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "PROPFIND",
+ Header: http.Header{"Authorization": {"Bearer " + arvadostest.ActiveToken}},
+ Path: "/" + arvadostest.CompletedContainerUUID + "/"}},
+ },
+ {
+ comment: "container log webdav PROPFIND root without trailing slash",
+ method: "PROPFIND",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID + "",
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "PROPFIND",
+ Header: http.Header{"Authorization": {"Bearer " + arvadostest.ActiveToken}},
+ Path: "/" + arvadostest.CompletedContainerUUID}},
+ },
+ {
+ comment: "container log webdav no_forward=true",
+ method: "GET",
+ path: "/arvados/v1/container_requests/" + arvadostest.CompletedContainerRequestUUID + "/log/" + arvadostest.CompletedContainerUUID + "/?no_forward=true",
+ shouldCall: "ContainerRequestLog",
+ withOptions: arvados.ContainerLogOptions{
+ UUID: arvadostest.CompletedContainerRequestUUID,
+ NoForward: true,
+ WebDAVOptions: arvados.WebDAVOptions{
+ Method: "GET",
+ Header: http.Header{"Authorization": {"Bearer " + arvadostest.ActiveToken}},
+ Path: "/" + arvadostest.CompletedContainerUUID + "/"}},
+ },
+ {
+ comment: "/logX does not route to ContainerRequestLog",
+ method: "GET",
+ path: "/arvados/v1/containers/" + arvadostest.CompletedContainerRequestUUID + "/logX",
+ shouldStatus: http.StatusNotFound,
+ shouldCall: "",
+ },