func TestBasicAuth(t *testing.T) { // set current provider testProvider := &provider.TestProviderRunner{} provider.CurrentProvider = testProvider defer func() { //TODO: remove: as we arent updating all tests we need tos et current provider back to a //clean default one (I miss rspec before) provider.CurrentProvider = new(provider.TestProviderRunner) }() // setup expectations on current provider testProvider.On("SystemGet").Return(nil, nil) assert := assert.New(t) aws := test.StubAws(test.DescribeConvoxStackCycle("convox-test")) defer aws.Close() defer os.Setenv("PASSWORD", os.Getenv("PASSWORD")) defer os.Setenv("RACK", os.Getenv("RACK")) os.Setenv("PASSWORD", "keymaster") os.Setenv("RACK", "convox-test") req, _ := http.NewRequest("GET", "http://convox/system", nil) w := httptest.NewRecorder() controllers.HandlerFunc(w, req) if !assert.Equal(401, w.Code) { return } w = httptest.NewRecorder() req.SetBasicAuth("", "keymaster") controllers.HandlerFunc(w, req) assert.Equal(200, w.Code) }
func TestBasicAuth(t *testing.T) { models.TestProvider.On("SystemGet").Return(nil, nil) assert := assert.New(t) aws := test.StubAws(test.DescribeConvoxStackCycle("convox-test")) defer aws.Close() defer os.Setenv("PASSWORD", os.Getenv("PASSWORD")) defer os.Setenv("RACK", os.Getenv("RACK")) os.Setenv("PASSWORD", "keymaster") os.Setenv("RACK", "convox-test") req, _ := http.NewRequest("GET", "http://convox/system", nil) w := httptest.NewRecorder() controllers.HandlerFunc(w, req) if !assert.Equal(401, w.Code) { return } w = httptest.NewRecorder() req.SetBasicAuth("", "keymaster") controllers.HandlerFunc(w, req) assert.Equal(200, w.Code) }
func TestNoPassword(t *testing.T) { aws := test.StubAws(test.DescribeConvoxStackCycle("convox-test")) defer aws.Close() defer os.Setenv("RACK", os.Getenv("RACK")) os.Setenv("RACK", "convox-test") assert.HTTPSuccess(t, controllers.HandlerFunc, "GET", "http://convox/system", nil) }
func TestInstanceTerminate(t *testing.T) { os.Setenv("RACK", "convox-test") aws := test.StubAws( test.DescribeConvoxStackCycle("convox-test"), test.DeleteInstanceCycle("i-4a5513f4"), ) defer aws.Close() body := test.HTTPBody("DELETE", "http://convox/instances/i-4a5513f4", nil) var resp map[string]bool err := json.Unmarshal([]byte(body), &resp) if assert.Nil(t, err) { assert.Equal(t, true, resp["success"]) } }
func TestNoPassword(t *testing.T) { // set current provider testProvider := &provider.TestProviderRunner{} provider.CurrentProvider = testProvider defer func() { //TODO: remove: as we arent updating all tests we need tos et current provider back to a //clean default one (I miss rspec before) provider.CurrentProvider = new(provider.TestProviderRunner) }() // setup expectations on current provider testProvider.On("SystemGet").Return(nil, nil) aws := test.StubAws(test.DescribeConvoxStackCycle("convox-test")) defer aws.Close() defer os.Setenv("RACK", os.Getenv("RACK")) os.Setenv("RACK", "convox-test") assert.HTTPSuccess(t, controllers.HandlerFunc, "GET", "http://convox/system", nil) }
func TestInstanceList(t *testing.T) { os.Setenv("RACK", "convox-test") os.Setenv("CLUSTER", "convox-test-cluster") aws := test.StubAws( test.DescribeConvoxStackCycle("convox-test"), test.ListContainerInstancesCycle("convox-test-cluster"), test.DescribeContainerInstancesCycle("convox-test-cluster"), test.DescribeInstancesCycle(), ) defer aws.Close() body := test.HTTPBody("GET", "http://convox/instances", nil) var resp []client.Instance err := json.Unmarshal([]byte(body), &resp) if assert.Nil(t, err) { assert.Equal(t, 3, len(resp)) } }