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 }