|
|
@@ -127,6 +127,7 @@ func TestInvalidLogin(t *testing.T) {
|
|
|
|
|
|
func TestValidLogin(t *testing.T) {
|
|
|
var redirectURL string
|
|
|
+ ctx := context.TODO()
|
|
|
m := &MockAzureHelper{}
|
|
|
m.On("openAzureLoginPage", mock.AnythingOfType("string")).Run(func(args mock.Arguments) {
|
|
|
redirectURL = args.Get(0).(string)
|
|
|
@@ -152,7 +153,7 @@ func TestValidLogin(t *testing.T) {
|
|
|
|
|
|
authBody := `{"value":[{"id":"/tenants/12345a7c-c56d-43e8-9549-dd230ce8a038","tenantId":"12345a7c-c56d-43e8-9549-dd230ce8a038"}]}`
|
|
|
|
|
|
- m.On("queryAPIWithHeader", getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
+ m.On("queryAPIWithHeader", ctx, getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
data := refreshTokenData("firstRefreshToken")
|
|
|
m.On("queryToken", data, "12345a7c-c56d-43e8-9549-dd230ce8a038").Return(azureToken{
|
|
|
RefreshToken: "newRefreshToken",
|
|
|
@@ -163,7 +164,7 @@ func TestValidLogin(t *testing.T) {
|
|
|
azureLogin, err := testLoginService(t, m)
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
- err = azureLogin.Login(context.TODO(), "")
|
|
|
+ err = azureLogin.Login(ctx, "")
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
loginToken, err := azureLogin.tokenStore.readToken()
|
|
|
@@ -203,7 +204,8 @@ func TestValidLoginRequestedTenant(t *testing.T) {
|
|
|
authBody := `{"value":[{"id":"/tenants/00000000-c56d-43e8-9549-dd230ce8a038","tenantId":"00000000-c56d-43e8-9549-dd230ce8a038"},
|
|
|
{"id":"/tenants/12345a7c-c56d-43e8-9549-dd230ce8a038","tenantId":"12345a7c-c56d-43e8-9549-dd230ce8a038"}]}`
|
|
|
|
|
|
- m.On("queryAPIWithHeader", getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
+ ctx := context.TODO()
|
|
|
+ m.On("queryAPIWithHeader", ctx, getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
data := refreshTokenData("firstRefreshToken")
|
|
|
m.On("queryToken", data, "12345a7c-c56d-43e8-9549-dd230ce8a038").Return(azureToken{
|
|
|
RefreshToken: "newRefreshToken",
|
|
|
@@ -214,7 +216,7 @@ func TestValidLoginRequestedTenant(t *testing.T) {
|
|
|
azureLogin, err := testLoginService(t, m)
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
- err = azureLogin.Login(context.TODO(), "12345a7c-c56d-43e8-9549-dd230ce8a038")
|
|
|
+ err = azureLogin.Login(ctx, "12345a7c-c56d-43e8-9549-dd230ce8a038")
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
loginToken, err := azureLogin.tokenStore.readToken()
|
|
|
@@ -251,13 +253,14 @@ func TestLoginNoTenant(t *testing.T) {
|
|
|
Foci: "1",
|
|
|
}, nil)
|
|
|
|
|
|
+ ctx := context.TODO()
|
|
|
authBody := `{"value":[{"id":"/tenants/12345a7c-c56d-43e8-9549-dd230ce8a038","tenantId":"12345a7c-c56d-43e8-9549-dd230ce8a038"}]}`
|
|
|
- m.On("queryAPIWithHeader", getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
+ m.On("queryAPIWithHeader", ctx, getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
|
|
|
azureLogin, err := testLoginService(t, m)
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
- err = azureLogin.Login(context.TODO(), "00000000-c56d-43e8-9549-dd230ce8a038")
|
|
|
+ err = azureLogin.Login(ctx, "00000000-c56d-43e8-9549-dd230ce8a038")
|
|
|
assert.Error(t, err, "could not find requested azure tenant 00000000-c56d-43e8-9549-dd230ce8a038: login failed")
|
|
|
}
|
|
|
|
|
|
@@ -286,13 +289,14 @@ func TestLoginRequestedTenantNotFound(t *testing.T) {
|
|
|
Foci: "1",
|
|
|
}, nil)
|
|
|
|
|
|
+ ctx := context.TODO()
|
|
|
authBody := `{"value":[]}`
|
|
|
- m.On("queryAPIWithHeader", getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
+ m.On("queryAPIWithHeader", ctx, getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
|
|
|
azureLogin, err := testLoginService(t, m)
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
- err = azureLogin.Login(context.TODO(), "")
|
|
|
+ err = azureLogin.Login(ctx, "")
|
|
|
assert.Error(t, err, "could not find azure tenant: login failed")
|
|
|
}
|
|
|
|
|
|
@@ -323,12 +327,13 @@ func TestLoginAuthorizationFailed(t *testing.T) {
|
|
|
|
|
|
authBody := `[access denied]`
|
|
|
|
|
|
- m.On("queryAPIWithHeader", getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 400, nil)
|
|
|
+ ctx := context.TODO()
|
|
|
+ m.On("queryAPIWithHeader", ctx, getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 400, nil)
|
|
|
|
|
|
azureLogin, err := testLoginService(t, m)
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
- err = azureLogin.Login(context.TODO(), "")
|
|
|
+ err = azureLogin.Login(ctx, "")
|
|
|
assert.Error(t, err, "unable to login status code 400: [access denied]: login failed")
|
|
|
}
|
|
|
|
|
|
@@ -339,7 +344,8 @@ func TestValidThroughDeviceCodeFlow(t *testing.T) {
|
|
|
|
|
|
authBody := `{"value":[{"id":"/tenants/12345a7c-c56d-43e8-9549-dd230ce8a038","tenantId":"12345a7c-c56d-43e8-9549-dd230ce8a038"}]}`
|
|
|
|
|
|
- m.On("queryAPIWithHeader", getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
+ ctx := context.TODO()
|
|
|
+ m.On("queryAPIWithHeader", ctx, getTenantURL, "Bearer firstAccessToken").Return([]byte(authBody), 200, nil)
|
|
|
data := refreshTokenData("firstRefreshToken")
|
|
|
m.On("queryToken", data, "12345a7c-c56d-43e8-9549-dd230ce8a038").Return(azureToken{
|
|
|
RefreshToken: "newRefreshToken",
|
|
|
@@ -350,7 +356,7 @@ func TestValidThroughDeviceCodeFlow(t *testing.T) {
|
|
|
azureLogin, err := testLoginService(t, m)
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
- err = azureLogin.Login(context.TODO(), "")
|
|
|
+ err = azureLogin.Login(ctx, "")
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
loginToken, err := azureLogin.tokenStore.readToken()
|
|
|
@@ -398,8 +404,8 @@ func (s *MockAzureHelper) queryToken(data url.Values, tenantID string) (token az
|
|
|
return args.Get(0).(azureToken), args.Error(1)
|
|
|
}
|
|
|
|
|
|
-func (s *MockAzureHelper) queryAPIWithHeader(authorizationURL string, authorizationHeader string) ([]byte, int, error) {
|
|
|
- args := s.Called(authorizationURL, authorizationHeader)
|
|
|
+func (s *MockAzureHelper) queryAPIWithHeader(ctx context.Context, authorizationURL string, authorizationHeader string) ([]byte, int, error) {
|
|
|
+ args := s.Called(ctx, authorizationURL, authorizationHeader)
|
|
|
return args.Get(0).([]byte), args.Int(1), args.Error(2)
|
|
|
}
|
|
|
|