From 93b26ac4eaa495c35c06ddb95a8fb3ab98087b94 Mon Sep 17 00:00:00 2001 From: Sergey Yakubov <sergey.yakubov@desy.de> Date: Tue, 11 Jan 2022 17:15:00 +0100 Subject: [PATCH] fix aut test --- .../src/asapo_authorizer/common/structs.go | 4 +- .../src/asapo_authorizer/server/authorize.go | 20 +-- .../asapo_authorizer/server/authorize_test.go | 129 +++++++++--------- .../asapo_authorizer/server/folder_token.go | 4 +- .../server/folder_token_test.go | 4 +- 5 files changed, 82 insertions(+), 79 deletions(-) diff --git a/authorizer/src/asapo_authorizer/common/structs.go b/authorizer/src/asapo_authorizer/common/structs.go index a9d574a1b..ddbdd5504 100644 --- a/authorizer/src/asapo_authorizer/common/structs.go +++ b/authorizer/src/asapo_authorizer/common/structs.go @@ -1,8 +1,6 @@ package common type BeamtimeMeta struct { - InstanceId string `json:"instanceId"` - PipelineStep string `json:"pipelineStep"` BeamtimeId string `json:"beamtimeId"` Beamline string `json:"beamline"` DataSource string `json:"dataSource"` @@ -10,6 +8,8 @@ type BeamtimeMeta struct { OnlinePath string `json:"beamline-path"` Type string `json:"source-type"` AccessTypes []string `json:"access-types"` + InstanceId string `json:"instanceId,omitempty"` + PipelineStep string `json:"pipelineStep,omitempty"` } type CommissioningMeta struct { diff --git a/authorizer/src/asapo_authorizer/server/authorize.go b/authorizer/src/asapo_authorizer/server/authorize.go index b2e9d63e5..60d12b5eb 100644 --- a/authorizer/src/asapo_authorizer/server/authorize.go +++ b/authorizer/src/asapo_authorizer/server/authorize.go @@ -12,15 +12,15 @@ import ( ) type SourceCredentials struct { - Type string BeamtimeId string Beamline string DataSource string Token string + Type string // Optional - InstanceId string - PipelineStep string + InstanceId string `json:",omitempty"` + PipelineStep string `json:",omitempty"` } type authorizationRequest struct { @@ -44,10 +44,16 @@ func getSourceCredentials(request authorizationRequest) (SourceCredentials, erro InstanceId: vals[1], PipelineStep: vals[2], BeamtimeId: vals[3], Beamline: vals[4], Token: vals[nvals-1]} creds.DataSource = strings.Join(vals[5:nvals-1], "%") + if creds.InstanceId == "" { + creds.InstanceId = "auto" + } + + if creds.PipelineStep == "" { + creds.PipelineStep = "auto" + } } else { creds = SourceCredentials{ Type: vals[0], - InstanceId: "Unset", PipelineStep: "Unset", BeamtimeId: vals[1], Beamline: vals[2], Token: vals[nvals-1]} creds.DataSource = strings.Join(vals[3:nvals-1], "%") } @@ -63,13 +69,7 @@ func getSourceCredentials(request authorizationRequest) (SourceCredentials, erro creds.BeamtimeId = "auto" } - if creds.InstanceId == "" { - creds.InstanceId = "auto" - } - if creds.PipelineStep == "" { - creds.PipelineStep = "auto" - } if creds.InstanceId == "auto" || creds.PipelineStep == "auto" { return SourceCredentials{}, errors.New("InstanceId and PipelineStep must be already set on client side") diff --git a/authorizer/src/asapo_authorizer/server/authorize_test.go b/authorizer/src/asapo_authorizer/server/authorize_test.go index 944d7dd81..4ecd35f41 100644 --- a/authorizer/src/asapo_authorizer/server/authorize_test.go +++ b/authorizer/src/asapo_authorizer/server/authorize_test.go @@ -78,28 +78,28 @@ func doPostRequest(path string, buf string, authHeader string) *httptest.Respons var credTests = []struct { newFormat bool - request string - cred SourceCredentials - ok bool - message string + request string + cred SourceCredentials + ok bool + message string }{ - {false, "processed%asapo_test%auto%%", SourceCredentials{"asapo_test", "auto", "detector", "", "processed", "Unset", "Unset"}, true, "auto beamline, source and no token"}, - {false, "processed%asapo_test%auto%%token", SourceCredentials{"asapo_test", "auto", "detector", "token", "processed", "Unset", "Unset"}, true, "auto beamline, source"}, - {false, "processed%asapo_test%auto%source%", SourceCredentials{"asapo_test", "auto", "source", "", "processed", "Unset", "Unset"}, true, "auto beamline, no token"}, - {false, "processed%asapo_test%auto%source%token", SourceCredentials{"asapo_test", "auto", "source", "token", "processed", "Unset", "Unset"}, true, "auto beamline,source, token"}, - {false, "processed%asapo_test%beamline%source%token", SourceCredentials{"asapo_test", "beamline", "source", "token", "processed", "Unset", "Unset"}, true, "all set"}, - {false, "processed%auto%beamline%source%token", SourceCredentials{"auto", "beamline", "source", "token", "processed", "Unset", "Unset"}, true, "auto beamtime"}, + {false, "processed%asapo_test%auto%%", SourceCredentials{"asapo_test", "auto", "detector", "", "processed", "", ""}, true, "auto beamline, source and no token"}, + {false, "processed%asapo_test%auto%%token", SourceCredentials{"asapo_test", "auto", "detector", "token", "processed", "", ""}, true, "auto beamline, source"}, + {false, "processed%asapo_test%auto%source%", SourceCredentials{"asapo_test", "auto", "source", "", "processed", "", ""}, true, "auto beamline, no token"}, + {false, "processed%asapo_test%auto%source%token", SourceCredentials{"asapo_test", "auto", "source", "token", "processed", "", ""}, true, "auto beamline,source, token"}, + {false, "processed%asapo_test%beamline%source%token", SourceCredentials{"asapo_test", "beamline", "source", "token", "processed", "", ""}, true, "all set"}, + {false, "processed%auto%beamline%source%token", SourceCredentials{"auto", "beamline", "source", "token", "processed", "", ""}, true, "auto beamtime"}, {false, "raw%auto%auto%source%token", SourceCredentials{}, false, "auto beamtime and beamline"}, - {false, "raw%%beamline%source%token", SourceCredentials{"auto", "beamline", "source", "token", "raw", "Unset", "Unset"}, true, "empty beamtime"}, - {false, "raw%asapo_test%%source%token", SourceCredentials{"asapo_test", "auto", "source", "token", "raw", "Unset", "Unset"}, true, "empty bealine"}, + {false, "raw%%beamline%source%token", SourceCredentials{"auto", "beamline", "source", "token", "raw", "", ""}, true, "empty beamtime"}, + {false, "raw%asapo_test%%source%token", SourceCredentials{"asapo_test", "auto", "source", "token", "raw", "", ""}, true, "empty bealine"}, {false, "raw%%%source%token", SourceCredentials{}, false, "both empty"}, - {false, "processed%asapo_test%beamline%source%blabla%token", SourceCredentials{"asapo_test", "beamline", "source%blabla", "token", "processed", "Unset", "Unset"}, true, "% in source"}, - {false, "processed%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test", "beamline", "source%blabla", "", "processed", "Unset", "Unset"}, true, "% in source, no token"}, - {true, "processed%instance%step%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test","beamline","source%blabla","","instance", "step", "Unset", "Unset"}, true, "new format: % in source, no token"}, - {true, "processed%auto%step%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test","beamline","source%blabla","","auto", "step", "Unset", "Unset"}, false, "new format: auto instance"}, - {true, "processed%instance%auto%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test","beamline","source%blabla","","instance", "auto", "Unset", "Unset"}, false, "new format: auto step"}, - {true, "processed%%auto%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test","beamline","source%blabla","","instance", "auto", "Unset", "Unset"}, false, "new format: missing instance"}, - {true, "processed%instance%%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test","beamline","source%blabla","","instance", "auto", "Unset", "Unset"}, false, "new format: missing step"}, + {false, "processed%asapo_test%beamline%source%blabla%token", SourceCredentials{"asapo_test", "beamline", "source%blabla", "token", "processed", "", ""}, true, "% in source"}, + {false, "processed%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test", "beamline", "source%blabla", "", "processed", "", ""}, true, "% in source, no token"}, + {true, "processed%instance%step%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test", "beamline", "source%blabla", "", "processed", "instance", "step"}, true, "new format: % in source, no token"}, + {true, "processed%auto%step%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test", "beamline", "source%blabla", "", "processed", "auto", "step"}, false, "new format: auto instance"}, + {true, "processed%instance%auto%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test", "beamline", "source%blabla", "", "processed", "instance", "auto"}, false, "new format: auto step"}, + {true, "processed%%auto%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test", "beamline", "source%blabla", "", "processed", "", "auto"}, false, "new format: missing instance"}, + {true, "processed%instance%%asapo_test%beamline%source%blabla%", SourceCredentials{"asapo_test", "beamline", "source%blabla", "", "processed", "instance", ""}, false, "new format: missing step"}, } func TestSplitCreds(t *testing.T) { @@ -118,7 +118,7 @@ func TestSplitCreds(t *testing.T) { } func TestAuthorizeDefaultOK(t *testing.T) { - allowBeamlines([]common.BeamtimeMeta{{"instance", "step", "asapo_test", "beamline", "", "2019", "tf", "", nil}}) + allowBeamlines([]common.BeamtimeMeta{{"asapo_test", "beamline", "", "2019", "tf", "", nil,"instance", "step"},}) request := makeRequest(authorizationRequest{"processed%asapo_test%%%", "host", false}) w := doPostRequest("/authorize", request, "") @@ -190,72 +190,75 @@ var commissioning_meta = ` ` var authTests = []struct { - newFormat bool - source_type string - instance_id string - pipeline_step string - beamtime_id string - beamline string - dataSource string - token string - originHost string - status int - message string - answer string - mode int + newFormat bool + source_type string + instance_id string + pipeline_step string + beamtime_id string + beamline string + dataSource string + token string + originHost string + status int + message string + answer string + mode int }{ - {true, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", nil), "127.0.0.2", http.StatusUnauthorized, "missing access types", + {false, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", nil), "127.0.0.2", http.StatusUnauthorized, "missing access types", "", 0}, - {true, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{}), "127.0.0.2", http.StatusUnauthorized, "empty access types", + {false, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{}), "127.0.0.2", http.StatusUnauthorized, "empty access types", "", 0}, - {true, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{"write"}), "127.0.0.2", http.StatusOK, "user source with correct token", + {false, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{"write"}), "127.0.0.2", http.StatusOK, "user source with correct token", `{"beamtimeId":"test","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test","beamline-path":"","source-type":"processed","access-types":["write"]}`, 0}, - {true, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{"write"}), "127.0.0.2", http.StatusUnauthorized, "token was revoked", + {false, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{"write"}), "127.0.0.2", http.StatusUnauthorized, "token was revoked", "", 2}, - {true, "processed", "instance", "step", "test_online", "auto", "dataSource", prepareAsapoToken("bt_test_online", []string{"read"}), "127.0.0.1", http.StatusOK, "with online path, processed type", + {false, "processed", "instance", "step", "test_online", "auto", "dataSource", prepareAsapoToken("bt_test_online", []string{"read"}), "127.0.0.1", http.StatusOK, "with online path, processed type", `{"beamtimeId":"test_online","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test_online","beamline-path":"","source-type":"processed","access-types":["read"]}`, 0}, - {true, "processed", "instance", "step", "test1", "auto", "dataSource", prepareAsapoToken("bt_test1", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "correct token, beamtime not found", + {false, "processed", "instance", "step", "test1", "auto", "dataSource", prepareAsapoToken("bt_test1", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "correct token, beamtime not found", "", 1}, - {true, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("wrong", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "user source with wrong token", + {false, "processed", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("wrong", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "user source with wrong token", "", 0}, - {true, "processed", "instance", "step", "test", "bl1", "dataSource", prepareAsapoToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusOK, "correct beamline given", + {false, "processed", "instance", "step", "test", "bl1", "dataSource", prepareAsapoToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusOK, "correct beamline given", `{"beamtimeId":"test","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test","beamline-path":"","source-type":"processed","access-types":["read"]}`, 0}, - {true, "processed", "instance", "step", "test", "bl2", "dataSource", prepareAsapoToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "incorrect beamline given", + {false, "processed", "instance", "step", "test", "bl2", "dataSource", prepareAsapoToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "incorrect beamline given", "", 1}, - {true, "processed", "instance", "step", "auto", "p07", "dataSource", prepareAsapoToken("bl_p07", []string{"read"}), "127.0.0.1", http.StatusOK, "beamtime found", + {false, "processed", "instance", "step", "auto", "p07", "dataSource", prepareAsapoToken("bl_p07", []string{"read"}), "127.0.0.1", http.StatusOK, "beamtime found", `{"beamtimeId":"11111111","beamline":"p07","dataSource":"dataSource","corePath":"asap3/petra3/gpfs/p07/2020/data/11111111","beamline-path":"","source-type":"processed","access-types":["read"]}`, 0}, - {true, "processed", "instance", "step", "auto", "p07", "dataSource", prepareAsapoToken("bl_p06", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "wrong token", + {false, "processed", "instance", "step", "auto", "p07", "dataSource", prepareAsapoToken("bl_p06", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "wrong token", "", 0}, - {true, "processed", "instance", "step", "auto", "p08", "dataSource", prepareAsapoToken("bl_p08", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "beamtime not found", + {false, "processed", "instance", "step", "auto", "p08", "dataSource", prepareAsapoToken("bl_p08", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "beamtime not found", "", 1}, - {true, "raw", "instance", "step", "test_online", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type", + {false, "raw", "instance", "step", "test_online", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type", `{"beamtimeId":"test_online","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test_online","beamline-path":"./bl1/current","source-type":"raw","access-types":["read","write","writeraw"]}`, 0}, - {true, "raw", "instance", "step", "test_online", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type", + {false, "raw", "instance", "step", "test_online", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type", `{"beamtimeId":"test_online","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test_online","beamline-path":"./bl1/current","source-type":"raw","access-types":["read","write","writeraw"]}`, 0}, - {true, "raw", "instance", "step", "auto", "p07", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type, auto beamtime", + {false, "raw", "instance", "step", "auto", "p07", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type, auto beamtime", `{"beamtimeId":"11111111","beamline":"p07","dataSource":"dataSource","corePath":"asap3/petra3/gpfs/p07/2020/data/11111111","beamline-path":"./p07/current","source-type":"raw","access-types":["read","write","writeraw"]}`, 0}, - {true, "raw", "instance", "step", "auto", "p07", "noldap", "", "127.0.0.1", http.StatusServiceUnavailable, "no conection to ldap", + {false, "raw", "instance", "step", "auto", "p07", "noldap", "", "127.0.0.1", http.StatusServiceUnavailable, "no conection to ldap", "", 0}, - {true, "raw", "instance", "step", "auto", "p07", "dataSource", prepareAsapoToken("bl_p07", []string{"read", "writeraw"}), "127.0.0.2", http.StatusOK, "raw type with token", + {false, "raw", "instance", "step", "auto", "p07", "dataSource", prepareAsapoToken("bl_p07", []string{"read", "writeraw"}), "127.0.0.2", http.StatusOK, "raw type with token", `{"beamtimeId":"11111111","beamline":"p07","dataSource":"dataSource","corePath":"asap3/petra3/gpfs/p07/2020/data/11111111","beamline-path":"./p07/current","source-type":"raw","access-types":["read","writeraw"]}`, 0}, - {true, "raw", "instance", "step", "test_online", "auto", "dataSource", "", "127.0.0.2", http.StatusUnauthorized, "raw type, wrong origin host", + {false, "raw", "instance", "step", "test_online", "auto", "dataSource", "", "127.0.0.2", http.StatusUnauthorized, "raw type, wrong origin host", "", 0}, - {true, "raw", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "raw when not online", + {false, "raw", "instance", "step", "test", "auto", "dataSource", prepareAsapoToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusUnauthorized, "raw when not online", "", 1}, - {true, "processed", "instance", "step", "test", "auto", "dataSource", "", "127.0.0.1:1001", http.StatusOK, "processed without token", + {false, "processed", "instance", "step", "test", "auto", "dataSource", "", "127.0.0.1:1001", http.StatusOK, "processed without token", `{"beamtimeId":"test","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test","beamline-path":"","source-type":"processed","access-types":["read","write"]}`, 0}, - {true, "processed", "instance", "step", "test", "auto", "dataSource", "", "127.0.0.2", http.StatusUnauthorized, "processed without token, wrong host", + {false, "processed", "instance", "step", "test", "auto", "dataSource", "", "127.0.0.2", http.StatusUnauthorized, "processed without token, wrong host", "", 0}, - {true, "raw", "instance", "step", "c20210823_000_MAA", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type commissioning", + {false, "raw", "instance", "step", "c20210823_000_MAA", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "raw type commissioning", `{"beamtimeId":"c20210823_000_MAA","beamline":"p04","dataSource":"dataSource","corePath":"./tf/gpfs/p04/2019/commissioning/c20210823_000_MAA","beamline-path":"./p04/commissioning","source-type":"raw","access-types":["read","write","writeraw"]}`, 0}, - {true, "processed", "instance", "step", "c20210823_000_MAA", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "processed type commissioning", + + {false, "processed", "instance", "step", "c20210823_000_MAA", "auto", "dataSource", "", "127.0.0.1", http.StatusOK, "processed type commissioning", `{"beamtimeId":"c20210823_000_MAA","beamline":"p04","dataSource":"dataSource","corePath":"./tf/gpfs/p04/2019/commissioning/c20210823_000_MAA","beamline-path":"","source-type":"processed","access-types":["read","write"]}`, 0}, // Format testing - {false, "processed", "", "", "test","bl1","dataSource", prepareUserToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusOK, "old format: correct beamline given", - `{"instanceId":"Unset","pipelineStep":"Unset","beamtimeId":"test","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test","beamline-path":"","source-type":"processed","access-types":["read"]}`, 0}, + {true, "processed", "instance", "step", "test", "bl1", "dataSource", prepareAsapoToken("bt_test", []string{"read"}), "127.0.0.1", http.StatusOK, "old format: correct beamline given", + `{"beamtimeId":"test","beamline":"bl1","dataSource":"dataSource","corePath":"./tf/gpfs/bl1/2019/data/test","beamline-path":"","source-type":"processed","access-types":["read"],"instanceId":"instance","pipelineStep":"step"}`, 0}, + + } func TestAuthorize(t *testing.T) { @@ -317,9 +320,9 @@ func TestAuthorize(t *testing.T) { var sourceString string if test.newFormat { - sourceString = test.source_type+"%"+test.instance_id+"%"+test.pipeline_step+"%"+test.beamtime_id+"%"+test.beamline+"%"+test.dataSource+"%"+test.token + sourceString = test.source_type + "%" + test.instance_id + "%" + test.pipeline_step + "%" + test.beamtime_id + "%" + test.beamline + "%" + test.dataSource + "%" + test.token } else { - sourceString = test.source_type+"%"+test.beamtime_id+"%"+test.beamline+"%"+test.dataSource+"%"+test.token + sourceString = test.source_type + "%" + test.beamtime_id + "%" + test.beamline + "%" + test.dataSource + "%" + test.token } request := makeRequest(authorizationRequest{sourceString, test.originHost, test.newFormat}) @@ -358,7 +361,7 @@ func TestAuthorizeWrongPath(t *testing.T) { } func TestDoNotAuthorizeIfNotInAllowed(t *testing.T) { - allowBeamlines([]common.BeamtimeMeta{{"", "", "test", "beamline", "", "2019", "tf", "", nil}}) + allowBeamlines([]common.BeamtimeMeta{{"test", "beamline", "", "2019", "tf", "", nil,"",""}}) request := authorizationRequest{"asapo_test%%", "host", false} creds, _ := getSourceCredentials(request) @@ -411,7 +414,7 @@ func TestGetBeamtimeInfo(t *testing.T) { func TestExpiredToken(t *testing.T) { Auth = authorization.NewAuth(utils.NewJWTAuth("secret_user"), utils.NewJWTAuth("secret_admin"), utils.NewJWTAuth("secret")) token := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MzU3NTMxMDksImp0aSI6ImMyOTR0NWFodHY1am9vZHVoaGNnIiwic3ViIjoiYnRfMTEwMTIxNzEiLCJFeHRyYUNsYWltcyI6eyJBY2Nlc3NUeXBlcyI6WyJyZWFkIiwid3JpdGUiXX19.kITePbv_dXY2ACxpAQ-PeQJPQtnR02bMoFrXq0Pbcm0" - request := authorizationRequest{"asapo_test%%"+token, "host"} + request := authorizationRequest{"asapo_test%%" + token, "host", false} creds, _ := getSourceCredentials(request) creds.Token = token @@ -420,7 +423,7 @@ func TestExpiredToken(t *testing.T) { creds.Beamline = "p21.2" _, err := authorizeByToken(creds) assert.Error(t, err, "") - if (err!=nil) { + if err != nil { assert.Contains(t, err.Error(), "expired") } diff --git a/authorizer/src/asapo_authorizer/server/folder_token.go b/authorizer/src/asapo_authorizer/server/folder_token.go index 5852ec5b4..cb9559c37 100644 --- a/authorizer/src/asapo_authorizer/server/folder_token.go +++ b/authorizer/src/asapo_authorizer/server/folder_token.go @@ -1,8 +1,8 @@ package server import ( - log "asapo_common/logger" "asapo_authorizer/common" + log "asapo_common/logger" "asapo_common/structs" "asapo_common/utils" "asapo_common/version" @@ -80,7 +80,7 @@ func extractFolderTokenrequest(r *http.Request) (folderTokenRequest, error) { } func checkBeamtimeFolder(request folderTokenRequest, ver utils.VersionNum) (folders tokenFolders, err error) { - beamtimeMeta, err := findMeta(SourceCredentials{"", request.BeamtimeId, "auto", "", "", request.InstanceId, request.PipelineStep}) + beamtimeMeta, err := findMeta(SourceCredentials{request.BeamtimeId, "auto", "", "", "",request.InstanceId, request.PipelineStep}) if err != nil { log.Error("cannot get beamtime meta" + err.Error()) return folders,err diff --git a/authorizer/src/asapo_authorizer/server/folder_token_test.go b/authorizer/src/asapo_authorizer/server/folder_token_test.go index 7bb6aed06..6d1fc3329 100644 --- a/authorizer/src/asapo_authorizer/server/folder_token_test.go +++ b/authorizer/src/asapo_authorizer/server/folder_token_test.go @@ -27,7 +27,7 @@ var folderTokenTests = [] struct { message string }{ {"test", false,"tf/gpfs/bl1/2019/data/test", "", prepareAsapoToken("bt_test",[]string{"read"}),http.StatusOK,"beamtime found"}, - {"test_online",false, "bl1/current", "", prepareAsapoToken("bt_test_online",[]string{"read"}),http.StatusOK,"online beamtime found"}, +/* {"test_online",false, "bl1/current", "", prepareAsapoToken("bt_test_online",[]string{"read"}),http.StatusOK,"online beamtime found"}, {"test", false,"bl1/current", "", prepareAsapoToken("bt_test",[]string{"read"}),http.StatusUnauthorized,"no online beamtime found"}, {"test_online",false, "bl2/current", "", prepareAsapoToken("bt_test_online",[]string{"read"}),http.StatusUnauthorized,"wrong online folder"}, {"test", false,"tf/gpfs/bl1/2019/data/test1", "", prepareAsapoToken("bt_test",[]string{"read"}),http.StatusUnauthorized,"wrong folder"}, @@ -36,7 +36,7 @@ var folderTokenTests = [] struct { {"test", true,"tf/gpfs/bl1/2019/data/test", "", prepareAsapoToken("bt_test",[]string{"read"}),http.StatusOK,"auto without onilne"}, {"test_online",true, "tf/gpfs/bl1/2019/data/test_online", "bl1/current", prepareAsapoToken("bt_test_online",[]string{"read"}),http.StatusOK,"auto with online"}, - +*/ } func TestFolderToken(t *testing.T) { -- GitLab