Skip to content

Commit

Permalink
[TMS]: predefined tags (#571)
Browse files Browse the repository at this point in the history
[TMS]: predefined tags

What this PR does / why we need it
Predefined tags implementation

Reviewed-by: Anton Sidelnikov
Reviewed-by: Polina Gubina
  • Loading branch information
artem-lifshits committed Aug 31, 2023
1 parent b55cf09 commit 9ee2c76
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 0 deletions.
12 changes: 12 additions & 0 deletions acceptance/clients/clients.go
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,18 @@ func NewSmnV2Client() (client *golangsdk.ServiceClient, err error) {
})
}

// NewTmsV1Client returns authenticated TMS v1.0 client
func NewTmsV1Client() (client *golangsdk.ServiceClient, err error) {
iamClient, err := NewIdentityV3AdminClient()
if err != nil {
return nil, err
}

iamClient.Endpoint = strings.Replace(iamClient.Endpoint, "v3", "v1.0", 1)
iamClient.Endpoint = strings.Replace(iamClient.Endpoint, "iam", "tms", 1)
return iamClient, err
}

// NewCesV1Client returns authenticated CES v1 client
func NewCesV1Client() (client *golangsdk.ServiceClient, err error) {
cc, err := CloudAndClient()
Expand Down
48 changes: 48 additions & 0 deletions acceptance/openstack/tms/tags_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package tms

import (
"os"
"testing"

"github.com/opentelekomcloud/gophertelekomcloud/acceptance/clients"
"github.com/opentelekomcloud/gophertelekomcloud/openstack/tms/v1/tags"
th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
)

func TestTMSV1Lifecycle(t *testing.T) {
if os.Getenv("RUN_TMS_TAGS") == "" {
t.Skip("unstable test")
}
client, err := clients.NewTmsV1Client()
th.AssertNoErr(t, err)

predefinedTags := []tags.Tag{
{
Key: "test-1",
Value: "test-1",
},
}

createOpts := tags.BatchOpts{
Tags: predefinedTags,
Action: tags.ActionCreate,
}

_, err = tags.BatchAction(client, "", createOpts).Extract()
th.AssertNoErr(t, err)

listTags, err := tags.Get(client).Extract()
th.AssertNoErr(t, err)
th.AssertEquals(t, listTags.Tags[0].Key, "test-1")
th.AssertEquals(t, listTags.Tags[0].Value, "test-1")

deleteOpts := tags.BatchOpts{
Action: tags.ActionDelete,
Tags: predefinedTags,
}
_, err = tags.BatchAction(client, "", deleteOpts).Extract()
th.AssertNoErr(t, err)

_, err = tags.Get(client).Extract()
th.AssertNoErr(t, err)
}
5 changes: 5 additions & 0 deletions openstack/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -930,3 +930,8 @@ func NewSWRV2(client *golangsdk.ProviderClient, eo golangsdk.EndpointOpts) (*gol
serviceClient.ResourceBase = serviceClient.Endpoint
return serviceClient, err
}

// NewTMSV1 creates a ServiceClient that may be used to access the TMS service.
func NewTMSV1(client *golangsdk.ProviderClient, eo golangsdk.EndpointOpts) (*golangsdk.ServiceClient, error) {
return initClientOpts(client, eo, "tms")
}

0 comments on commit 9ee2c76

Please sign in to comment.