本文整理汇总了Golang中github.com/gophercloud/gophercloud/testhelper/client.ServiceClient函数的典型用法代码示例。如果您正苦于以下问题:Golang ServiceClient函数的具体用法?Golang ServiceClient怎么用?Golang ServiceClient使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ServiceClient函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestCreateServerWithImageNameAndFlavorName
func TestCreateServerWithImageNameAndFlavorName(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
HandleServerCreationSuccessfully(t, SingleServerBody)
actual, err := servers.Create(client.ServiceClient(), servers.CreateOpts{
Name: "derp",
ImageName: "cirros-0.3.2-x86_64-disk",
FlavorName: "m1.tiny",
ServiceClient: client.ServiceClient(),
}).Extract()
th.AssertNoErr(t, err)
th.CheckDeepEquals(t, ServerDerp, *actual)
}
示例2: TestListInstances
func TestListInstances(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fixture.SetupHandler(t, resURL+"/instances", "GET", "", ListInstancesJSON, 200)
expectedInstance := instances.Instance{
ID: "d4603f69-ec7e-4e9b-803f-600b9205576f",
Name: "json_rack_instance",
}
pages := 0
err := configurations.ListInstances(fake.ServiceClient(), configID).EachPage(func(page pagination.Page) (bool, error) {
pages++
actual, err := instances.ExtractInstances(page)
if err != nil {
return false, err
}
th.AssertDeepEquals(t, actual, []instances.Instance{expectedInstance})
return true, nil
})
th.AssertNoErr(t, err)
th.AssertEquals(t, 1, pages)
}
示例3: tokenPost
func tokenPost(t *testing.T, options gophercloud.AuthOptions, requestJSON string) tokens.CreateResult {
th.SetupHTTP()
defer th.TeardownHTTP()
HandleTokenPost(t, requestJSON)
return tokens.Create(client.ServiceClient(), options)
}
示例4: TestUpdateNova
// Verifies that it is possible to update a share network using nova network
func TestUpdateNova(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
MockUpdateNovaResponse(t)
expected := sharenetworks.ShareNetwork{
ID: "713df749-aac0-4a54-af52-10f6c991e80c",
Name: "net_my2",
CreatedAt: gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 4, 14, 54, 25, 0, time.UTC)),
Description: "new description",
NetworkType: "",
CIDR: "",
NovaNetID: "new-nova-id",
NeutronNetID: "",
NeutronSubnetID: "",
IPVersion: 4,
SegmentationID: 0,
UpdatedAt: gophercloud.JSONRFC3339MilliNoZ(time.Date(2015, 9, 7, 8, 2, 53, 512184000, time.UTC)),
ProjectID: "16e1ab15c35a457e9c2b2aa189f544e1",
}
options := sharenetworks.UpdateOpts{
Name: "net_my2",
Description: "new description",
NovaNetID: "new-nova-id",
}
v, err := sharenetworks.Update(client.ServiceClient(), "713df749-aac0-4a54-af52-10f6c991e80c", options).Extract()
th.AssertNoErr(t, err)
th.CheckDeepEquals(t, &expected, v)
}
示例5: TestPaginatedListDetail
// Verifies that share networks list can be called with query parameters
func TestPaginatedListDetail(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
MockFilteredListResponse(t)
options := &sharenetworks.ListOpts{
Offset: 0,
Limit: 1,
}
count := 0
err := sharenetworks.ListDetail(client.ServiceClient(), options).EachPage(func(page pagination.Page) (bool, error) {
count++
_, err := sharenetworks.ExtractShareNetworks(page)
if err != nil {
t.Errorf("Failed to extract share networks: %v", err)
return false, err
}
return true, nil
})
th.AssertNoErr(t, err)
th.AssertEquals(t, count, 3)
}
示例6: TestListAll
func TestListAll(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
MockListResponse(t)
allPages, err := volumes.List(client.ServiceClient(), &volumes.ListOpts{}).AllPages()
th.AssertNoErr(t, err)
actual, err := volumes.ExtractVolumes(allPages)
th.AssertNoErr(t, err)
expected := []volumes.Volume{
{
ID: "289da7f8-6440-407c-9fb4-7db01ec49164",
Name: "vol-001",
},
{
ID: "96c3bda7-c82a-4f50-be73-ca7621794835",
Name: "vol-002",
},
}
th.CheckDeepEquals(t, expected, actual)
}
示例7: TestList
func TestList(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
HandleList(t)
expectedDBs := []databases.Database{
{Name: "anotherexampledb"},
{Name: "exampledb"},
{Name: "nextround"},
{Name: "sampledb"},
{Name: "testingdb"},
}
pages := 0
err := databases.List(fake.ServiceClient(), instanceID).EachPage(func(page pagination.Page) (bool, error) {
pages++
actual, err := databases.ExtractDBs(page)
if err != nil {
return false, err
}
th.CheckDeepEquals(t, expectedDBs, actual)
return true, nil
})
th.AssertNoErr(t, err)
if pages != 1 {
t.Errorf("Expected 1 page, saw %d", pages)
}
}
示例8: TestCreate
func TestCreate(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
HandleCreate(t)
opts := users.BatchCreateOpts{
{
Databases: db.BatchCreateOpts{
db.CreateOpts{Name: "databaseA"},
},
Name: "dbuser3",
Password: "secretsecret",
},
{
Databases: db.BatchCreateOpts{
{Name: "databaseB"},
{Name: "databaseC"},
},
Name: "dbuser4",
Password: "secretsecret",
},
}
res := users.Create(fake.ServiceClient(), instanceID, opts)
th.AssertNoErr(t, res.Err)
}
示例9: TestCreateICMPZero
func TestCreateICMPZero(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockCreateRuleResponseICMPZero(t)
opts := defsecrules.CreateOpts{
IPProtocol: "ICMP",
FromPort: 0,
ToPort: 0,
CIDR: "10.10.12.0/24",
}
group, err := defsecrules.Create(client.ServiceClient(), opts).Extract()
th.AssertNoErr(t, err)
expected := &defsecrules.DefaultRule{
ID: ruleID,
FromPort: 0,
ToPort: 0,
IPProtocol: "ICMP",
IPRange: secgroups.IPRange{CIDR: "10.10.12.0/24"},
}
th.AssertDeepEquals(t, expected, group)
}
示例10: TestList
func TestList(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockListRulesResponse(t)
count := 0
err := defsecrules.List(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
count++
actual, err := defsecrules.ExtractDefaultRules(page)
th.AssertNoErr(t, err)
expected := []defsecrules.DefaultRule{
{
FromPort: 80,
ID: ruleID,
IPProtocol: "TCP",
IPRange: secgroups.IPRange{CIDR: "10.10.10.0/24"},
ToPort: 80,
},
}
th.CheckDeepEquals(t, expected, actual)
return true, nil
})
th.AssertNoErr(t, err)
th.AssertEquals(t, 1, count)
}
示例11: TestCreate
func TestCreate(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
HandleCreate(t)
opts := instances.CreateOpts{
Name: "json_rack_instance",
FlavorRef: "1",
Databases: db.BatchCreateOpts{
{CharSet: "utf8", Collate: "utf8_general_ci", Name: "sampledb"},
{Name: "nextround"},
},
Users: users.BatchCreateOpts{
{
Name: "demouser",
Password: "demopassword",
Databases: db.BatchCreateOpts{
{Name: "sampledb"},
},
},
},
Size: 2,
}
instance, err := instances.Create(fake.ServiceClient(), opts).Extract()
th.AssertNoErr(t, err)
th.AssertDeepEquals(t, &expectedInstance, instance)
}
示例12: TestUpdateSuccessful
func TestUpdateSuccessful(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
th.Mux.HandleFunc("/services/12345", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "PATCH")
th.TestHeader(t, r, "X-Auth-Token", client.TokenID)
th.TestJSONRequest(t, r, `{ "type": "lasermagic" }`)
w.Header().Add("Content-Type", "application/json")
fmt.Fprintf(w, `
{
"service": {
"id": "12345",
"type": "lasermagic"
}
}
`)
})
expected := &services.Service{
ID: "12345",
Type: "lasermagic",
}
actual, err := services.Update(client.ServiceClient(), "12345", "lasermagic").Extract()
th.AssertNoErr(t, err)
th.AssertDeepEquals(t, expected, actual)
}
示例13: TestCreateSuccessful
func TestCreateSuccessful(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
th.Mux.HandleFunc("/services", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "POST")
th.TestHeader(t, r, "X-Auth-Token", client.TokenID)
th.TestJSONRequest(t, r, `{ "type": "compute" }`)
w.Header().Add("Content-Type", "application/json")
w.WriteHeader(http.StatusCreated)
fmt.Fprintf(w, `{
"service": {
"description": "Here's your service",
"id": "1234",
"name": "InscrutableOpenStackProjectName",
"type": "compute"
}
}`)
})
expected := &services.Service{
Description: "Here's your service",
ID: "1234",
Name: "InscrutableOpenStackProjectName",
Type: "compute",
}
actual, err := services.Create(client.ServiceClient(), "compute").Extract()
if err != nil {
t.Fatalf("Unexpected error from Create: %v", err)
}
th.AssertDeepEquals(t, expected, actual)
}
示例14: TestGetSuccessful
func TestGetSuccessful(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
th.Mux.HandleFunc("/services/12345", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "GET")
th.TestHeader(t, r, "X-Auth-Token", client.TokenID)
w.Header().Add("Content-Type", "application/json")
fmt.Fprintf(w, `
{
"service": {
"description": "Service One",
"id": "12345",
"name": "service-one",
"type": "identity"
}
}
`)
})
actual, err := services.Get(client.ServiceClient(), "12345").Extract()
th.AssertNoErr(t, err)
expected := &services.Service{
ID: "12345",
Description: "Service One",
Name: "service-one",
Type: "identity",
}
th.AssertDeepEquals(t, expected, actual)
}
示例15: TestListGlobalParams
func TestListGlobalParams(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fixture.SetupHandler(t, globalParamListURL, "GET", "", ListParamsJSON, 200)
pages := 0
err := configurations.ListGlobalParams(fake.ServiceClient(), versionID).EachPage(func(page pagination.Page) (bool, error) {
pages++
actual, err := configurations.ExtractParams(page)
if err != nil {
return false, err
}
expected := []configurations.Param{
{Max: 1, Min: 0, Name: "innodb_file_per_table", RestartRequired: true, Type: "integer"},
{Max: 4294967296, Min: 0, Name: "key_buffer_size", RestartRequired: false, Type: "integer"},
{Max: 65535, Min: 2, Name: "connect_timeout", RestartRequired: false, Type: "integer"},
{Max: 4294967296, Min: 0, Name: "join_buffer_size", RestartRequired: false, Type: "integer"},
}
th.AssertDeepEquals(t, actual, expected)
return true, nil
})
th.AssertNoErr(t, err)
th.AssertEquals(t, 1, pages)
}