本文整理汇总了Golang中github.com/convox/rack/test.StubAws函数的典型用法代码示例。如果您正苦于以下问题:Golang StubAws函数的具体用法?Golang StubAws怎么用?Golang StubAws使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了StubAws函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestInstanceTerminate
func TestInstanceTerminate(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)
os.Setenv("RACK", "convox-test")
aws := test.StubAws(
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"])
}
}
示例2: TestAppCreate
// Test the primary path: creating an app on a `convox` rack
// Return to testing against a `convox-test` rack afterwards
func TestAppCreate(t *testing.T) {
r := os.Getenv("RACK")
os.Setenv("RACK", "convox")
defer os.Setenv("RACK", r)
aws := test.StubAws(
test.DescribeStackNotFound("application"),
test.CreateAppStackCycle("convox-application"),
test.DescribeAppStackCycle("convox-application"),
)
defer aws.Close()
val := url.Values{"name": []string{"application"}}
body := test.HTTPBody("POST", "http://convox/apps", val)
if assert.NotEqual(t, "", body) {
var resp map[string]string
err := json.Unmarshal([]byte(body), &resp)
if assert.Nil(t, err) {
assert.Equal(t, "application", resp["name"])
assert.Equal(t, "running", resp["status"])
}
}
}
示例3: TestFormationScaleMemory2048
// post memory=2048 should error
func TestFormationScaleMemory2048(t *testing.T) {
// set current provider
testProvider := &provider.TestProviderRunner{
Capacity: structs.Capacity{
InstanceMemory: 1024,
},
}
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)
}()
testProvider.On("CapacityGet").Return(testProvider.Capacity, nil)
aws := test.StubAws(
test.DescribeAppStackCycle("convox-test-application"),
test.DescribeAppStackCycle("convox-test-application"),
test.GetItemAppReleaseCycle("convox-test-application"),
test.UpdateAppStackCycle("convox-test-application", "1", "512"),
)
defer aws.Close()
provider.TestProvider.Capacity = structs.Capacity{
InstanceMemory: 1024,
}
val := url.Values{"count": []string{""}, "memory": []string{"2048"}}
body := test.HTTPBody("POST", "http://convox/apps/application/formation/main", val)
assert.Equal(t, `{"error":"requested memory 2048 greater than instance size 1024"}`, body)
}
示例4: TestFormationScaleCount0
// post count=0 should set MainDesiredCount=0 in the stack update
func TestFormationScaleCount0(t *testing.T) {
// set current provider
testProvider := &provider.TestProviderRunner{
Capacity: structs.Capacity{},
}
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("CapacityGet").Return(testProvider.Capacity, nil)
aws := test.StubAws(
test.DescribeAppStackCycle("convox-test-application"),
test.DescribeAppStackCycle("convox-test-application"),
test.GetItemAppReleaseCycle("convox-test-application"),
test.UpdateAppStackCycle("convox-test-application", "0", "256"),
)
defer aws.Close()
val := url.Values{"count": []string{"0"}, "memory": []string{""}}
body := test.HTTPBody("POST", "http://convox/apps/application/formation/main", val)
assert.Equal(t, `{"success":true}`, body)
}
示例5: TestBasicAuth
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)
}
示例6: TestBasicAuth
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)
}
示例7: TestProcessesListWithDetached
func TestProcessesListWithDetached(t *testing.T) {
models.TestProvider = &provider.TestProvider{
Instances: []structs.Instance{
structs.Instance{},
structs.Instance{},
structs.Instance{},
},
}
// setup expectations on current provider
models.TestProvider.On("InstanceList").Return(models.TestProvider.Instances, nil)
os.Setenv("RACK", "convox-test")
os.Setenv("CLUSTER", "convox-test-cluster")
aws := test.StubAws(
test.DescribeAppStackCycle("convox-test-myapp-staging"),
test.DescribeAppStackCycle("convox-test-myapp-staging"),
test.DescribeAppStackResourcesCycle("convox-test-myapp-staging"),
test.ListContainerInstancesCycle("convox-test-cluster"),
test.DescribeContainerInstancesCycle("convox-test-cluster"),
test.DescribeInstancesCycle(),
test.ListTasksCycle("convox-test-cluster", "convox-test-myapp-staging-worker-SCELGCIYSKF"),
test.DescribeTasksCycle("convox-test-cluster"),
test.ListTasksOneoffCycle("convox-test-cluster"),
test.DescribeTasksOneoffCycle("convox-test-cluster"),
test.DescribeTaskDefinitionCycle("convox-test-cluster"),
test.DescribeTaskDefinitionCycle("convox-test-cluster"),
test.DescribeAppStackResourcesCycle("convox-test-myapp-staging"),
test.DescribeServicesCycle("convox-test-cluster"),
)
defer aws.Close()
docker := test.StubDocker(
// query for every ECS task to get docker id, command, created
test.ListECSContainersCycle(),
test.ListECSOneoffContainersCycle(),
// query every instance for one-off containers
test.ListOneoffContainersEmptyCycle(),
test.ListOneoffContainersEmptyCycle(),
test.ListOneoffContainersEmptyCycle(),
)
defer docker.Close()
body := test.HTTPBody("GET", "http://convox/apps/myapp-staging/processes", url.Values{})
var resp client.Processes
err := json.Unmarshal([]byte(body), &resp)
if assert.Nil(t, err) {
assert.Equal(t, 2, len(resp))
assert.Equal(t, "echo 1", resp[0].Command)
assert.Equal(t, "/bin/sh -c yes", resp[1].Command)
}
}
示例8: TestProcessesList
func TestProcessesList(t *testing.T) {
// set current provider
models.TestProvider = &provider.TestProvider{
Instances: []structs.Instance{
structs.Instance{},
structs.Instance{},
structs.Instance{},
},
}
// setup expectations on current provider
models.TestProvider.On("InstanceList").Return(models.TestProvider.Instances, nil)
aws := test.StubAws(
test.DescribeAppStackCycle("convox-test-myapp-staging"),
test.DescribeAppStackCycle("convox-test-myapp-staging"),
test.DescribeAppStackResourcesCycle("convox-test-myapp-staging"),
test.ListContainerInstancesCycle("convox-test-cluster"),
test.DescribeContainerInstancesCycle("convox-test-cluster"),
test.DescribeInstancesCycle(),
test.ListTasksCycle("convox-test-cluster", "convox-test-myapp-staging-worker-SCELGCIYSKF"),
test.DescribeTasksCycle("convox-test-cluster"),
test.ListTasksOneoffEmptyCycle("convox-test-cluster"),
test.DescribeTaskDefinitionCycle("convox-test-cluster"),
test.DescribeAppStackResourcesCycle("convox-test-myapp-staging"),
test.DescribeServicesCycle("convox-test-cluster"),
)
defer aws.Close()
docker := test.StubDocker(
// query for every ECS task to get docker id, command, created
test.ListECSContainersCycle(),
// query every instance for one-off containers
test.ListOneoffContainersEmptyCycle(),
test.ListOneoffContainersEmptyCycle(),
test.ListOneoffContainersEmptyCycle(),
// query for every container to get CPU and Memory stats
test.StatsCycle(),
)
defer docker.Close()
v := url.Values{}
v.Add("stats", "true")
body := test.HTTPBody("GET", "http://convox/apps/myapp-staging/processes", v)
var resp client.Processes
err := json.Unmarshal([]byte(body), &resp)
if assert.Nil(t, err) {
assert.Equal(t, 1, len(resp))
assert.Equal(t, 0.0974, resp[0].Memory)
}
}
示例9: TestAppShowWithAppNotFound
func TestAppShowWithAppNotFound(t *testing.T) {
aws := test.StubAws(
test.DescribeStackNotFound("convox-test-bar"),
test.DescribeStackNotFound("bar"),
)
defer aws.Close()
test.AssertStatus(t, 404, "GET", "http://convox/apps/bar", nil)
}
示例10: TestNoPassword
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)
}
示例11: TestAppCreateWithAlreadyExistsUnbound
func TestAppCreateWithAlreadyExistsUnbound(t *testing.T) {
aws := test.StubAws(
test.DescribeAppStackCycle("application"),
)
defer aws.Close()
val := url.Values{"name": []string{"application"}}
body := test.AssertStatus(t, 403, "POST", "http://convox/apps", val)
assert.Equal(t, "{\"error\":\"there is already a legacy app named application (running). We recommend you delete this app and create it again.\"}", body)
}
示例12: TestAppCreateWithRackName
func TestAppCreateWithRackName(t *testing.T) {
aws := test.StubAws(
test.DescribeAppStackCycle("foobar"),
)
defer aws.Close()
val := url.Values{"name": []string{"convox-test"}}
body := test.AssertStatus(t, 403, "POST", "http://convox/apps", val)
assert.Equal(t, "{\"error\":\"application name cannot match rack name (convox-test). Please choose a different name for your app.\"}", body)
}
示例13: TestAppCreateWithAlreadyExists
func TestAppCreateWithAlreadyExists(t *testing.T) {
aws := test.StubAws(
test.CreateAppStackExistsCycle("application"),
test.DescribeAppStackCycle("application"),
)
defer aws.Close()
val := url.Values{"name": []string{"application"}}
test.AssertStatus(t, 403, "POST", "http://convox/apps", val)
}
示例14: TestGetProcessesWithDeployments
func TestGetProcessesWithDeployments(t *testing.T) {
os.Setenv("RACK", "convox-test")
os.Setenv("CLUSTER", "convox-test-cluster")
aws := test.StubAws(
test.DescribeAppStackCycle("convox-test-myapp-staging"),
test.DescribeAppStackCycle("convox-test-myapp-staging"),
test.DescribeAppStackResourcesCycle("convox-test-myapp-staging"),
test.ListContainerInstancesCycle("convox-test-cluster"),
test.DescribeContainerInstancesCycle("convox-test-cluster"),
test.DescribeInstancesCycle(),
test.ListTasksCycle("convox-test-cluster", "convox-test-myapp-staging-worker-SCELGCIYSKF"),
test.DescribeTasksCycle("convox-test-cluster"),
test.ListTasksOneoffEmptyCycle("convox-test-cluster"),
test.DescribeTaskDefinitionCycle("convox-test-cluster"),
test.DescribeAppStackResourcesCycle("convox-test-myapp-staging"),
test.DescribeServicesWithDeploymentsCycle("convox-test-cluster"),
test.DescribeTaskDefinition3Cycle("convox-test-cluster"),
test.DescribeTaskDefinition1Cycle("convox-test-cluster"),
)
defer aws.Close()
docker := test.StubDocker(
// query for every ECS task to get docker id, command, created
test.ListECSContainersCycle(),
// query every instance for one-off containers
test.ListOneoffContainersEmptyCycle(),
test.ListOneoffContainersEmptyCycle(),
test.ListOneoffContainersEmptyCycle(),
// query for every container to get CPU and Memory stats
test.StatsCycle(),
)
defer docker.Close()
v := url.Values{}
v.Add("stats", "true")
body := test.HTTPBody("GET", "http://convox/apps/myapp-staging/processes", v)
var resp client.Processes
err := json.Unmarshal([]byte(body), &resp)
if assert.Nil(t, err) {
assert.Equal(t, 2, len(resp))
assert.Equal(t, "8dfafdbc3a40", resp[0].Id)
assert.Equal(t, 0.0974, resp[0].Memory)
assert.Equal(t, "pending", resp[1].Id)
assert.EqualValues(t, 0, resp[1].Memory)
}
}
示例15: getClusterServices
func getClusterServices() (models.ECSServices, error) {
os.Setenv("RACK", "convox-test")
os.Setenv("CLUSTER", "convox-test")
stubAws := test.StubAws(
test.HttpdListServicesCycle(),
test.HttpdDescribeServicesCycle(),
)
defer stubAws.Close()
return models.ClusterServices()
}