github.com/opentelekomcloud/gophertelekomcloud@v0.9.3/acceptance/openstack/ims/create_image_obs_test.go (about)

     1  package ims
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/opentelekomcloud/gophertelekomcloud/acceptance/tools"
     7  	images1 "github.com/opentelekomcloud/gophertelekomcloud/openstack/ims/v1/images"
     8  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/ims/v1/others"
     9  	"github.com/opentelekomcloud/gophertelekomcloud/openstack/ims/v2/images"
    10  	th "github.com/opentelekomcloud/gophertelekomcloud/testhelper"
    11  )
    12  
    13  func TestCreateImageFromOBS(t *testing.T) {
    14  	t.Skip("long run test only for manual purpose")
    15  	client1, client2 := getClient(t)
    16  
    17  	bucketName, objectName := makeOBS(t)
    18  
    19  	fromOBS, err := images.CreateImageFromOBS(client2, images.CreateImageFromOBSOpts{
    20  		Name:     tools.RandomString("ims-test-", 5),
    21  		OsType:   "Linux",
    22  		ImageUrl: bucketName + ":" + objectName,
    23  		MinDisk:  1,
    24  		Tags:     []string{"rancher"},
    25  	})
    26  	th.AssertNoErr(t, err)
    27  
    28  	image := jobEntities(t, client1, client2, fromOBS)
    29  
    30  	copied, err := others.CopyImageInRegion(client1, others.CopyImageInRegionOpts{
    31  		ImageId: image.ImageId,
    32  		Name:    tools.RandomString("ims-test-", 5),
    33  	})
    34  	th.AssertNoErr(t, err)
    35  	jobEntities(t, client1, client2, copied)
    36  
    37  	quota, err := others.ShowImageQuota(client1)
    38  	th.AssertNoErr(t, err)
    39  	tools.PrintResource(t, quota)
    40  }
    41  
    42  func TestCreateDataImage(t *testing.T) {
    43  	client1, client2 := getClient(t)
    44  
    45  	bucketName, objectName := makeOBS(t)
    46  
    47  	fromOBS, err := images1.CreateDataImage(client1, images1.CreateDataImageOpts{
    48  		Name:     tools.RandomString("ims-test-", 5),
    49  		ImageUrl: bucketName + ":" + objectName,
    50  		MinDisk:  1,
    51  	})
    52  	th.AssertNoErr(t, err)
    53  
    54  	image := jobEntities(t, client1, client2, fromOBS)
    55  
    56  	updated, err := images.UpdateImage(client2, image.ImageId, []images.UpdateImageOpts{{
    57  		Op:    "replace",
    58  		Path:  "/name",
    59  		Value: tools.RandomString("DataImage-test-", 5),
    60  	}})
    61  	th.AssertNoErr(t, err)
    62  	tools.PrintResource(t, updated)
    63  }