Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
JorTurFer committed Dec 7, 2021
1 parent fc15bd6 commit eef2b94
Showing 1 changed file with 36 additions and 7 deletions.
43 changes: 36 additions & 7 deletions pkg/scalers/azure_pipelines_scaler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package scalers
import (
"context"
"net/http"
"net/http/httptest"
"testing"
)

Expand All @@ -27,10 +28,10 @@ var testAzurePipelinesResolvedEnv = map[string]string{
var testAzurePipelinesMetadata = []parseAzurePipelinesMetadataTestData{
// empty
{map[string]string{}, true, testAzurePipelinesResolvedEnv, map[string]string{}},
// all properly formed
{map[string]string{"organizationURLFromEnv": "AZP_URL", "personalAccessTokenFromEnv": "AZP_TOKEN", "poolID": "1", "targetPipelinesQueueLength": "1"}, false, testAzurePipelinesResolvedEnv, map[string]string{}},
// using triggerAuthentication
{map[string]string{"poolID": "1", "targetPipelinesQueueLength": "1"}, false, testAzurePipelinesResolvedEnv, map[string]string{"organizationURL": "https://dev.azure.com/sample", "personalAccessToken": "sample"}},
// // all properly formed
// {map[string]string{"organizationURLFromEnv": "AZP_URL", "personalAccessTokenFromEnv": "AZP_TOKEN", "poolID": "1", "targetPipelinesQueueLength": "1"}, false, testAzurePipelinesResolvedEnv, map[string]string{}},
// // using triggerAuthentication
// {map[string]string{"poolID": "1", "targetPipelinesQueueLength": "1"}, false, testAzurePipelinesResolvedEnv, map[string]string{"organizationURL": "https://dev.azure.com/sample", "personalAccessToken": "sample"}},
// missing organizationURL
{map[string]string{"organizationURLFromEnv": "", "personalAccessTokenFromEnv": "sample", "poolID": "1", "targetPipelinesQueueLength": "1"}, true, testAzurePipelinesResolvedEnv, map[string]string{}},
// missing personalAccessToken
Expand All @@ -44,9 +45,21 @@ var azurePipelinesMetricIdentifiers = []azurePipelinesMetricIdentifier{
{&testAzurePipelinesMetadata[1], 1, "s1-azure-pipelines-1"},
}

func TestParseAzurePipelinesMetadata(t *testing.T) {
func SimpleTestParseAzurePipelinesMetadata(t *testing.T) {
for _, testData := range testAzurePipelinesMetadata {
_, err := parseAzurePipelinesMetadata(&ScalerConfig{TriggerMetadata: testData.metadata, ResolvedEnv: testData.resolvedEnv, AuthParams: testData.authParams})
_, err := parseAzurePipelinesMetadata(&ScalerConfig{TriggerMetadata: testData.metadata, ResolvedEnv: testData.resolvedEnv, AuthParams: testData.authParams}, http.DefaultClient, context.TODO())
if err != nil && !testData.isError {
t.Error("Expected success but got error", err)
}
if testData.isError && err == nil {
t.Error("Expected error but got success")
}
}
}

func FullTestParseAzurePipelinesMetadata(t *testing.T) {
for _, testData := range testAzurePipelinesMetadata {
_, err := parseAzurePipelinesMetadata(&ScalerConfig{TriggerMetadata: testData.metadata, ResolvedEnv: testData.resolvedEnv, AuthParams: testData.authParams}, http.DefaultClient, context.TODO())
if err != nil && !testData.isError {
t.Error("Expected success but got error", err)
}
Expand All @@ -58,10 +71,26 @@ func TestParseAzurePipelinesMetadata(t *testing.T) {

func TestAzurePipelinesGetMetricSpecForScaling(t *testing.T) {
for _, testData := range azurePipelinesMetricIdentifiers {
meta, err := parseAzurePipelinesMetadata(&ScalerConfig{TriggerMetadata: testData.metadataTestData.metadata, ResolvedEnv: testData.metadataTestData.resolvedEnv, AuthParams: testData.metadataTestData.authParams, ScalerIndex: testData.scalerIndex})

var apiStub = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(`{"count":1,"value":[{ "id":1}]}`))
}))

resolvedEnv := map[string]string{"AZP_URL": apiStub.URL, "AZP_TOKEN": "token"}

metadata := map[string]string{
"poolID": "1",
"targetPipelinesQueueLength": "1",
"organizationURLFromEnv": "AZP_URL",
"personalAccessTokenFromEnv": "AZP_TOKEN",
}

meta, err := parseAzurePipelinesMetadata(&ScalerConfig{TriggerMetadata: metadata, ResolvedEnv: resolvedEnv, AuthParams: nil, ScalerIndex: testData.scalerIndex}, http.DefaultClient, context.TODO())
if err != nil {
t.Fatal("Could not parse metadata:", err)
}

mockAzurePipelinesScaler := azurePipelinesScaler{
metadata: meta,
httpClient: http.DefaultClient,
Expand Down

0 comments on commit eef2b94

Please sign in to comment.