func TestCreateServer(t *testing.T) { apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, createServerJSONPayload, "servers", `{"server":{"name":"my_server","imageRef":"8c3cd338-1282-4fbb-bbaf-2256ff97c7b7","key_name":"my_key_name","flavorRef":"101","maxcount":1,"mincount":1,"user_data":"my_user_data","availability_zone":"az1","networks":[{"uuid":"1111d337-0282-4fbb-bbaf-2256ff97c7b7","port":"881"}],"security_groups":[{"name":"my_security_group_123"}]}}`) defer apiServer.Close() serverService := CreateComputeService(apiServer.URL) az := "az1" userData := "my_user_data" maxMinCount := int32(1) var serverCreationParameters = ServerCreationParameters{ Name: "my_server", ImageRef: "8c3cd338-1282-4fbb-bbaf-2256ff97c7b7", KeyPairName: "my_key_name", FlavorRef: "101", MaxCount: &maxMinCount, MinCount: &maxMinCount, AvailabilityZone: &az, UserData: &userData, Networks: []ServerNetworkParameters{ServerNetworkParameters{UUID: "1111d337-0282-4fbb-bbaf-2256ff97c7b7", Port: "881"}}, SecurityGroups: []SecurityGroup{SecurityGroup{Name: "my_security_group_123"}}} result, err := serverService.CreateServer(serverCreationParameters) testUtil.IsNil(t, err) testUtil.Equals(t, createServerResponse, result) }
func TestCreateUser(t *testing.T) { apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, "", "/instances/InstanceID/users", `{"users":[{"name":"username","password":"******"}]}`) defer apiServer.Close() service := CreateDatabaseService(apiServer.URL) err := service.CreateUser("InstanceID", UserParameter{Name: "username", Password: "******"}) testUtil.IsNil(t, err) }
func TestCreateDatabase(t *testing.T) { apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, "", "/instances/InstanceID/databases", `{"databases":[{"character_set":"utf32","collate":"latin","name":"username"}]}`) defer apiServer.Close() service := CreateDatabaseService(apiServer.URL) err := service.CreateDatabases("InstanceID", CreateDatabaseParameters{Name: "username", CharacterSet: "utf32", Collate: "latin"}) testUtil.IsNil(t, err) }
func createVolumeTypeTest(t *testing.T, p blockstorage.CreateVolumeTypeParameters, expectedPayload string) { apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, sampleVolumeTypeJson, "types", expectedPayload) defer apiServer.Close() service := CreateVolumeService(apiServer.URL) volume, err := service.CreateVolumeType(p) testUtil.IsNil(t, err) testUtil.Equals(t, volumeTypeSample, volume) }
func TestPostJsonWithValidResponse(t *testing.T) { var apiServer = testUtil.CreatePostJSONTestRequestServer(t, token, `{"id":"id1","name":"Chris"}`, "", `{"id":"id1","name":"name"}`) defer apiServer.Close() actual := TestStruct{} ti := TestStruct{ID: "id1", Name: "name"} err := util.PostJSON(apiServer.URL, token, *http.DefaultClient, ti, &actual) testUtil.IsNil(t, err) expected := TestStruct{ID: "id1", Name: "Chris"} testUtil.Equals(t, expected, actual) }
func TestCreateFloatingIP(t *testing.T) { mockResponse, _ := json.Marshal(floatingIPContainer{FloatingIP: samplefloatingIP}) apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, string(mockResponse), "os-floating-ips", `{"pool":"poolName"}`) defer apiServer.Close() service := CreateComputeService(apiServer.URL) floatingIP, err := service.CreateFloatingIP("poolName") if err != nil { t.Error(err) } testUtil.Equals(t, samplefloatingIP, floatingIP) }
func TestCreateSecurityGroup(t *testing.T) { apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, sampleSecurityGroupJSONResponse, "/os-security-groups", `{"security_group":{"tenant_id":"tenantID","addSecurityGroup":"addsecgroup","name":"name","description":"Description"}}`) defer apiServer.Close() service := CreateComputeService(apiServer.URL) parameters := compute.CreateSecurityGroupParameters{TenantID: "tenantID", AddSecurityGroup: "addsecgroup", Name: "name", Description: "Description"} securityGroup, err := service.CreateSecurityGroup(parameters) testUtil.IsNil(t, err) testUtil.Equals(t, sampleSecurityGroup, securityGroup) }
func TestCreatePort(t *testing.T) { mockResponse, _ := json.Marshal(portContainer{Port: samplePortResponse}) apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, string(mockResponse), "/ports", `{"port":{"admin_state_up":true,"name":"name","network_id":"networkid","fixed_ips":[{"ip_address":""},{"ip_address":""}]}}`) defer apiServer.Close() networkService := CreateNetworkService(apiServer.URL) createPortParameters := network.CreatePortParameters{AdminStateUp: true, Name: "name", NetworkID: "networkid", FixedIPs: fixedIps} actualPort, err := networkService.CreatePort(createPortParameters) if err != nil { t.Error(err) } testUtil.Equals(t, samplePortResponse, actualPort) }
func TestCreateSubnet(t *testing.T) { mockResponse, err := json.Marshal(subnetResp{Subnet: sampleSubNetResponse}) apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, string(mockResponse), "/subnets", `{"subnet":{"network_id":"subnetid","ip_version":4,"cidr":"12.14.76.87","allocation_pools":[{"start":"13.14.14.15","end":"13.14.14.15"}]}}`) defer apiServer.Close() networkService := CreateNetworkService(apiServer.URL) createSubnetParameters := network.CreateSubnetParameters{NetworkID: "subnetid", AllocationPools: allocationPools, CIDR: "12.14.76.87", IPVersion: 4} actualPort, err := networkService.CreateSubnet(createSubnetParameters) if err != nil { t.Error(err) } testUtil.Equals(t, sampleSubNetResponse, actualPort) }
func TestAttachVolume(t *testing.T) { mockResponseObject, _ := json.Marshal(volumeAttachmentContainer{VolumeAttachment: sampleVolumeAttachment}) mockRequestObject, _ := json.Marshal(volumeAttachmentContainer{VolumeAttachment: VolumeAttachment{Device: "/dev/vdd", VolumeID: "volumeID"}}) apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, string(mockResponseObject), "/servers/serverID/os-volume_attachments", string(mockRequestObject)) defer apiServer.Close() service := CreateComputeService(apiServer.URL) attachedVolume, err := service.AttachVolume("serverID", "volumeID", "/dev/vdd") if err != nil { t.Fatal(err) } testUtil.Equals(t, sampleVolumeAttachment, attachedVolume) }
func TestCreateNetwork(t *testing.T) { mockResponse, _ := json.Marshal(networkContainer{sampleNetworkResponse}) apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, string(mockResponse), "/networks", `{"network":{"name":"networkName","admin_state_up":false,"shared":true,"tenant_id":"tenantId"}}`) defer apiServer.Close() networkService := CreateNetworkService(apiServer.URL) params := network.CreateNetworkParameters{ AdminStateUp: false, Shared: true, Name: "networkName", TenantID: "tenantId"} actualNetwork, err := networkService.CreateNetwork(params) if err != nil { t.Error(err) } testUtil.Equals(t, sampleNetworkResponse, actualNetwork) }
func TestCreateSecurityGroupRuleWithGroup(t *testing.T) { apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, sampleGroupRuleJSONResponse, "/os-security-group-rules", `{"security_group_rule":{"from_port":133,"to_port":436,"ip_protocol":"ICMP","group_id":"19ffd595-daba-49f0-91f0-741bac706a3a","parent_group_id":"a226372b-3333-40c4-b4ed-a16e3cb92222","cidr":null}}`) defer apiServer.Close() groupID := "19ffd595-daba-49f0-91f0-741bac706a3a" service := CreateComputeService(apiServer.URL) createRule := compute.CreateSecurityGroupRuleParameters{ FromPort: 133, IPProtocol: icmpValue, ParentGroupID: "a226372b-3333-40c4-b4ed-a16e3cb92222", ToPort: 436, GroupID: &groupID} securityGroupRule, err := service.CreateSecurityGroupRule(createRule) testUtil.IsNil(t, err) testUtil.Equals(t, sampleGroupRule, securityGroupRule) }
func TestCreateVolume(t *testing.T) { apiServer := testUtil.CreatePostJSONTestRequestServer(t, tokn, sampleVolumeJSON, "volumes", `{"volume":{"display_name":"displayname","availability_zone":"az","display_description":"Description","volume_type":"volType","size":512315}}`) defer apiServer.Close() createVolumeParameters := blockstorage.CreateVolumeParameters{ DisplayName: "displayname", Az: "az", Desciption: "Description", VolumeType: "volType", Metadata: map[string]string{}, Size: 512315, } service := CreateVolumeService(apiServer.URL) volume, err := service.CreateVolume(createVolumeParameters) testUtil.IsNil(t, err) testUtil.Equals(t, volumeSample, volume) }