github.com/qiniu/go-sdk/v7@v7.27.0/linking/deviceKey_test.go (about)

     1  //go:build integration
     2  // +build integration
     3  
     4  package linking
     5  
     6  import (
     7  	"testing"
     8  )
     9  
    10  func TestAddDeviceKey(t *testing.T) {
    11  	if skipTest() {
    12  		t.SkipNow()
    13  	}
    14  	c := getTestManager()
    15  	// delete if exist
    16  	device := "sdk-testAddDeviceKey"
    17  	defer c.DeleteDevice(testApp, device)
    18  	dev := &Device{
    19  		Device:            device,
    20  		SegmentExpireDays: 7,
    21  	}
    22  	_, err := c.AddDevice(testApp, dev)
    23  	noError(t, err)
    24  	keys, err := c.AddDeviceKey(testApp, device)
    25  	noError(t, err)
    26  	shouldBeEqual(t, 2, len(keys))
    27  }
    28  
    29  func TestQueryDeviceKey(t *testing.T) {
    30  	if skipTest() {
    31  		t.SkipNow()
    32  	}
    33  	c := getTestManager()
    34  	// delete if exist
    35  	device := "sdk-testQueryDeviceKey"
    36  	defer c.DeleteDevice(testApp, device)
    37  	dev := &Device{
    38  		Device:            device,
    39  		SegmentExpireDays: 7,
    40  	}
    41  	_, err := c.AddDevice(testApp, dev)
    42  	if err != nil {
    43  		t.Fatalf("Added Device Failed error = %s", err.Error())
    44  	}
    45  
    46  	keys, err := c.QueryDeviceKey(testApp, device)
    47  	if err != nil {
    48  		t.Fatalf("Query DeviceKey error = %s", err.Error())
    49  	}
    50  	if 1 != len(keys) {
    51  		t.Fatal("length of keys should be 1")
    52  	}
    53  }
    54  
    55  func TestUpdateDeviceKey(t *testing.T) {
    56  	if skipTest() {
    57  		t.SkipNow()
    58  	}
    59  	c := getTestManager()
    60  	// delete if exist
    61  	device := "sdk-testUpdateDeviceKey"
    62  	defer c.DeleteDevice(testApp, device)
    63  	dev := &Device{
    64  		Device:            device,
    65  		SegmentExpireDays: 7,
    66  	}
    67  
    68  	_, err := c.AddDevice(testApp, dev)
    69  	if err != nil {
    70  		t.Fatalf("Added Device Failed error = %s", err.Error())
    71  	}
    72  	keys, err := c.QueryDeviceKey(testApp, device)
    73  	noError(t, err)
    74  	shouldBeEqual(t, 1, len(keys))
    75  	shouldBeEqual(t, 0, keys[0].State)
    76  	dak := keys[0].AccessKey
    77  	err = c.UpdateDeviceKeyState(testApp, device, dak, 1)
    78  	noError(t, err)
    79  	// check key state == 1
    80  	keys, err = c.QueryDeviceKey(testApp, device)
    81  	noError(t, err)
    82  	shouldBeEqual(t, 1, keys[0].State)
    83  }
    84  
    85  func TestDeleteDeviceKey(t *testing.T) {
    86  	if skipTest() {
    87  		t.SkipNow()
    88  	}
    89  	c := getTestManager()
    90  	// delete if exist
    91  	device := "sdk-testDeleteDeviceKey"
    92  	defer c.DeleteDevice(testApp, device)
    93  	dev := &Device{
    94  		Device:            device,
    95  		SegmentExpireDays: 7,
    96  	}
    97  	_, err := c.AddDevice(testApp, dev)
    98  	noError(t, err)
    99  
   100  	keys, err := c.AddDeviceKey(testApp, device)
   101  	noError(t, err)
   102  	shouldBeEqual(t, 2, len(keys))
   103  	dak := keys[0].AccessKey
   104  	err = c.DeleteDeviceKey(testApp, device, dak)
   105  	keys, err = c.QueryDeviceKey(testApp, device)
   106  	noError(t, err)
   107  	shouldBeEqual(t, 1, len(keys))
   108  }
   109  
   110  func TestCloneDeviceKey(t *testing.T) {
   111  	if skipTest() {
   112  		t.SkipNow()
   113  	}
   114  	c := getTestManager()
   115  	// delete if exist
   116  	device1 := "sdk-testCloneDeviceKey1"
   117  	defer c.DeleteDevice(testApp, device1)
   118  	dev1 := &Device{
   119  		Device:            device1,
   120  		SegmentExpireDays: 7,
   121  	}
   122  	_, err := c.AddDevice(testApp, dev1)
   123  	noError(t, err)
   124  	device2 := "sdk-testCloneDeviceKey2"
   125  	defer c.DeleteDevice(testApp, device2)
   126  	dev2 := &Device{
   127  		Device:            device2,
   128  		SegmentExpireDays: 7,
   129  	}
   130  	_, err = c.AddDevice(testApp, dev2)
   131  	noError(t, err)
   132  
   133  	// query device1 keys
   134  	keys, err := c.QueryDeviceKey(testApp, device1)
   135  	dak1 := keys[0].AccessKey
   136  
   137  	// clone device1 key ----> device2
   138  	keys, err = c.QueryDeviceKey(testApp, device2)
   139  
   140  	noError(t, err)
   141  	shouldBeEqual(t, 1, len(keys))
   142  	keys, err = c.CloneDeviceKey(testApp, device1, device2, false, false, dak1)
   143  	noError(t, err)
   144  	keys, err = c.QueryDeviceKey(testApp, device2)
   145  
   146  	noError(t, err)
   147  	shouldBeEqual(t, 2, len(keys))
   148  	// make sure device1 key is deleted
   149  	keys, err = c.QueryDeviceKey(testApp, device1)
   150  	noError(t, err)
   151  	shouldBeEqual(t, 0, len(keys))
   152  }
   153  
   154  func TestQueryAppidDeviceByAccessKey(t *testing.T) {
   155  	if skipTest() {
   156  		t.SkipNow()
   157  	}
   158  	c := getTestManager()
   159  	// delete if exist
   160  	device := "sdk-testQueryAppidDeviceNameByAccessKey"
   161  	defer c.DeleteDevice(testApp, device)
   162  	dev := &Device{
   163  		Device:            device,
   164  		SegmentExpireDays: 7,
   165  	}
   166  	_, err := c.AddDevice(testApp, dev)
   167  	noError(t, err)
   168  
   169  	keys, err := c.QueryDeviceKey(testApp, device)
   170  	noError(t, err)
   171  	shouldBeEqual(t, 1, len(keys))
   172  	dak := keys[0].AccessKey
   173  	realAppid, realDevice, err := c.QueryAppidDeviceNameByAccessKey(dak)
   174  	noError(t, err)
   175  	shouldBeEqual(t, device, realDevice)
   176  	shouldBeEqual(t, testApp, realAppid)
   177  }