@webex/internal-plugin-avatar 2.59.2 → 2.59.3-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,84 +1,84 @@
1
- /*!
2
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
- */
4
-
5
- import {assert} from '@webex/test-helper-chai';
6
- import Avatar from '@webex/internal-plugin-avatar';
7
- import MockWebex from '@webex/test-helper-mock-webex';
8
-
9
- describe('plugin-avatar', () => {
10
- describe('AvatarUrlBatcher', () => {
11
- let batcher;
12
- let webex;
13
-
14
- beforeEach(() => {
15
- webex = new MockWebex({
16
- children: {
17
- avatar: Avatar,
18
- },
19
- });
20
- batcher = webex.internal.avatar.batcher;
21
- });
22
-
23
- describe('#fingerprints', () => {
24
- it("fingerprintRequest returns 'uuid-size'", () =>
25
- batcher
26
- .fingerprintRequest({uuid: 'uuid1', size: 80})
27
- .then((result) => assert.deepEqual(result, 'uuid1-80')));
28
- it("fingerprintResponse returns 'uuid-size'", () =>
29
- batcher
30
- .fingerprintRequest({uuid: 'uuid1', size: 80})
31
- .then((result) => assert.deepEqual(result, 'uuid1-80')));
32
- });
33
-
34
- describe('#submitHttpRequest()', () => {
35
- const mockRequest = {
36
- method: 'POST',
37
- api: 'avatar',
38
- resource: 'profiles/urls',
39
- body: 'foo',
40
- };
41
-
42
- it('calls webex.request with expected params', () => {
43
- webex.request = function (options) {
44
- return Promise.resolve(options);
45
- };
46
-
47
- // webex.requestPromise = Promise.resolve(mockRequest);
48
- return batcher
49
- .submitHttpRequest(mockRequest.body)
50
- .then((req) => assert.deepEqual(req, mockRequest));
51
- });
52
- });
53
-
54
- describe('#didItemFail()', () => {
55
- let warn;
56
- let loggerWarned;
57
-
58
- beforeEach(() => {
59
- warn = batcher.logger.warn;
60
- loggerWarned = false;
61
- batcher.logger.warn = (msg) => {
62
- loggerWarned = msg === 'Avatar: substituted size "256" for "80"';
63
- };
64
- });
65
-
66
- afterEach(() => {
67
- batcher.logger.warn = warn;
68
- });
69
-
70
- it('returns true if no response in item', () =>
71
- batcher.didItemFail({}).then((res) => assert.isTrue(res)));
72
-
73
- it('returns false, warns reqested size does not equal response size', () =>
74
- batcher
75
- .didItemFail({size: 80, response: {size: 256}})
76
- .then((res) => assert.isFalse(res && loggerWarned)));
77
-
78
- it('returns false no warning', () =>
79
- batcher
80
- .didItemFail({size: 80, response: {size: 80}})
81
- .then((res) => assert.isFalse(res && !loggerWarned)));
82
- });
83
- });
84
- });
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+
5
+ import {assert} from '@webex/test-helper-chai';
6
+ import Avatar from '@webex/internal-plugin-avatar';
7
+ import MockWebex from '@webex/test-helper-mock-webex';
8
+
9
+ describe('plugin-avatar', () => {
10
+ describe('AvatarUrlBatcher', () => {
11
+ let batcher;
12
+ let webex;
13
+
14
+ beforeEach(() => {
15
+ webex = new MockWebex({
16
+ children: {
17
+ avatar: Avatar,
18
+ },
19
+ });
20
+ batcher = webex.internal.avatar.batcher;
21
+ });
22
+
23
+ describe('#fingerprints', () => {
24
+ it("fingerprintRequest returns 'uuid-size'", () =>
25
+ batcher
26
+ .fingerprintRequest({uuid: 'uuid1', size: 80})
27
+ .then((result) => assert.deepEqual(result, 'uuid1-80')));
28
+ it("fingerprintResponse returns 'uuid-size'", () =>
29
+ batcher
30
+ .fingerprintRequest({uuid: 'uuid1', size: 80})
31
+ .then((result) => assert.deepEqual(result, 'uuid1-80')));
32
+ });
33
+
34
+ describe('#submitHttpRequest()', () => {
35
+ const mockRequest = {
36
+ method: 'POST',
37
+ api: 'avatar',
38
+ resource: 'profiles/urls',
39
+ body: 'foo',
40
+ };
41
+
42
+ it('calls webex.request with expected params', () => {
43
+ webex.request = function (options) {
44
+ return Promise.resolve(options);
45
+ };
46
+
47
+ // webex.requestPromise = Promise.resolve(mockRequest);
48
+ return batcher
49
+ .submitHttpRequest(mockRequest.body)
50
+ .then((req) => assert.deepEqual(req, mockRequest));
51
+ });
52
+ });
53
+
54
+ describe('#didItemFail()', () => {
55
+ let warn;
56
+ let loggerWarned;
57
+
58
+ beforeEach(() => {
59
+ warn = batcher.logger.warn;
60
+ loggerWarned = false;
61
+ batcher.logger.warn = (msg) => {
62
+ loggerWarned = msg === 'Avatar: substituted size "256" for "80"';
63
+ };
64
+ });
65
+
66
+ afterEach(() => {
67
+ batcher.logger.warn = warn;
68
+ });
69
+
70
+ it('returns true if no response in item', () =>
71
+ batcher.didItemFail({}).then((res) => assert.isTrue(res)));
72
+
73
+ it('returns false, warns reqested size does not equal response size', () =>
74
+ batcher
75
+ .didItemFail({size: 80, response: {size: 256}})
76
+ .then((res) => assert.isFalse(res && loggerWarned)));
77
+
78
+ it('returns false no warning', () =>
79
+ batcher
80
+ .didItemFail({size: 80, response: {size: 80}})
81
+ .then((res) => assert.isFalse(res && !loggerWarned)));
82
+ });
83
+ });
84
+ });
@@ -1,154 +1,154 @@
1
- /*!
2
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
- */
4
-
5
- import {assert} from '@webex/test-helper-chai';
6
- import Avatar from '@webex/internal-plugin-avatar';
7
- import MockWebex from '@webex/test-helper-mock-webex';
8
-
9
- /* eslint camelcase: 0 */
10
- describe('plugin-avatar', () => {
11
- const item1_40 = {
12
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
13
- size: 40,
14
- url: 'http://www-40.example.com',
15
- cacheControl: 300,
16
- };
17
- const item1_50 = {
18
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
19
- size: 50,
20
- url: 'http://www-50.example.com',
21
- cacheControl: 300,
22
- };
23
- const item1_80 = {
24
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
25
- size: 80,
26
- url: 'http://www-80.example.com',
27
- cacheControl: 300,
28
- };
29
- const item1_110 = {
30
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
31
- size: 110,
32
- url: 'http://www-110.example.com',
33
- cacheControl: 300,
34
- };
35
- const item1_192 = {
36
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
37
- size: 192,
38
- url: 'http://www-192.example.com',
39
- cacheControl: 300,
40
- };
41
- const item1_640 = {
42
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
43
- size: 640,
44
- url: 'http://www-640.example.com',
45
- cacheControl: 300,
46
- };
47
- const item1_1600 = {
48
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
49
- size: 1600,
50
- url: 'http://www-1600.example.com',
51
- cacheControl: 300,
52
- };
53
- const item2_80 = {
54
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa1',
55
- size: 80,
56
- url: 'http://www2.example.com',
57
- cacheControl: 300,
58
- };
59
- const item3_80 = {
60
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa2',
61
- size: 80,
62
- url: 'http://www3.example.com',
63
- cacheControl: 300,
64
- };
65
-
66
- describe('AvatarUrlStore', () => {
67
- let store;
68
- let webex;
69
-
70
- beforeEach(() => {
71
- webex = new MockWebex({
72
- children: {
73
- avatar: Avatar,
74
- },
75
- });
76
- store = webex.internal.avatar.store;
77
- });
78
-
79
- it('add item failures', () =>
80
- Promise.all([
81
- assert.isRejected(store.add(), '`item` is required'),
82
- assert.isRejected(store.add({}), '`item.uuid` is required'),
83
- assert.isRejected(store.add({uuid: 'id1'}), '`item.size` is required'),
84
- assert.isRejected(
85
- store.add({uuid: 'id1', size: 80}),
86
- '`item.uuid` does not appear to be a uuid'
87
- ),
88
- assert.isRejected(
89
- store.add({uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0', size: 80}),
90
- '`item.url` is required'
91
- ),
92
- assert.isRejected(
93
- store.add({
94
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
95
- size: 80,
96
- url: 'http://www.example.com',
97
- }),
98
- '`item.cacheControl` is required'
99
- ),
100
- assert.isRejected(
101
- store.add({
102
- uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
103
- size: 80,
104
- url: 'http://www.example.com',
105
- cacheControl: 0,
106
- }),
107
- '`item.cacheControl` is required'
108
- ),
109
- ]));
110
-
111
- it('get item failures', () =>
112
- Promise.all([
113
- assert.isRejected(store.get(), '`item` is required'),
114
- assert.isRejected(store.get({}), '`item.uuid` is required'),
115
- assert.isRejected(store.get({uuid: 'id1'}), '`item.size` is required'),
116
- assert.isRejected(
117
- store.get({uuid: 'id1', size: 80}),
118
- '`item.uuid` does not appear to be a uuid'
119
- ),
120
- assert.isRejected(
121
- store.get({uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0', size: 80}),
122
- 'No URL found by specified id'
123
- ),
124
- ]));
125
-
126
- it('set / get / remove', () =>
127
- Promise.all([
128
- store.add(item1_80),
129
- store.add(item2_80),
130
- store.add(item3_80),
131
- store.get(item1_80).then((result) => assert.deepEqual(result, item1_80)),
132
- store.get(item2_80).then((result) => assert.deepEqual(result, item2_80)),
133
- store.get(item3_80).then((result) => assert.deepEqual(result, item3_80)),
134
- store.remove(item2_80),
135
- store.remove(item3_80),
136
- assert.isRejected(store.get(item3_80)),
137
- assert.isRejected(store.get(item2_80)),
138
- store.add(item1_40),
139
- store.add(item1_50),
140
- store.add(item1_110),
141
- store.add(item1_192),
142
- store.add(item1_640),
143
- store.add(item1_1600),
144
- store.remove({uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0'}),
145
- assert.isRejected(store.get(item1_40)),
146
- assert.isRejected(store.get(item1_50)),
147
- assert.isRejected(store.get(item1_80)),
148
- assert.isRejected(store.get(item1_110)),
149
- assert.isRejected(store.get(item1_192)),
150
- assert.isRejected(store.get(item1_640)),
151
- assert.isRejected(store.get(item1_1600)),
152
- ]));
153
- });
154
- });
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+
5
+ import {assert} from '@webex/test-helper-chai';
6
+ import Avatar from '@webex/internal-plugin-avatar';
7
+ import MockWebex from '@webex/test-helper-mock-webex';
8
+
9
+ /* eslint camelcase: 0 */
10
+ describe('plugin-avatar', () => {
11
+ const item1_40 = {
12
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
13
+ size: 40,
14
+ url: 'http://www-40.example.com',
15
+ cacheControl: 300,
16
+ };
17
+ const item1_50 = {
18
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
19
+ size: 50,
20
+ url: 'http://www-50.example.com',
21
+ cacheControl: 300,
22
+ };
23
+ const item1_80 = {
24
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
25
+ size: 80,
26
+ url: 'http://www-80.example.com',
27
+ cacheControl: 300,
28
+ };
29
+ const item1_110 = {
30
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
31
+ size: 110,
32
+ url: 'http://www-110.example.com',
33
+ cacheControl: 300,
34
+ };
35
+ const item1_192 = {
36
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
37
+ size: 192,
38
+ url: 'http://www-192.example.com',
39
+ cacheControl: 300,
40
+ };
41
+ const item1_640 = {
42
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
43
+ size: 640,
44
+ url: 'http://www-640.example.com',
45
+ cacheControl: 300,
46
+ };
47
+ const item1_1600 = {
48
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
49
+ size: 1600,
50
+ url: 'http://www-1600.example.com',
51
+ cacheControl: 300,
52
+ };
53
+ const item2_80 = {
54
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa1',
55
+ size: 80,
56
+ url: 'http://www2.example.com',
57
+ cacheControl: 300,
58
+ };
59
+ const item3_80 = {
60
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa2',
61
+ size: 80,
62
+ url: 'http://www3.example.com',
63
+ cacheControl: 300,
64
+ };
65
+
66
+ describe('AvatarUrlStore', () => {
67
+ let store;
68
+ let webex;
69
+
70
+ beforeEach(() => {
71
+ webex = new MockWebex({
72
+ children: {
73
+ avatar: Avatar,
74
+ },
75
+ });
76
+ store = webex.internal.avatar.store;
77
+ });
78
+
79
+ it('add item failures', () =>
80
+ Promise.all([
81
+ assert.isRejected(store.add(), '`item` is required'),
82
+ assert.isRejected(store.add({}), '`item.uuid` is required'),
83
+ assert.isRejected(store.add({uuid: 'id1'}), '`item.size` is required'),
84
+ assert.isRejected(
85
+ store.add({uuid: 'id1', size: 80}),
86
+ '`item.uuid` does not appear to be a uuid'
87
+ ),
88
+ assert.isRejected(
89
+ store.add({uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0', size: 80}),
90
+ '`item.url` is required'
91
+ ),
92
+ assert.isRejected(
93
+ store.add({
94
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
95
+ size: 80,
96
+ url: 'http://www.example.com',
97
+ }),
98
+ '`item.cacheControl` is required'
99
+ ),
100
+ assert.isRejected(
101
+ store.add({
102
+ uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0',
103
+ size: 80,
104
+ url: 'http://www.example.com',
105
+ cacheControl: 0,
106
+ }),
107
+ '`item.cacheControl` is required'
108
+ ),
109
+ ]));
110
+
111
+ it('get item failures', () =>
112
+ Promise.all([
113
+ assert.isRejected(store.get(), '`item` is required'),
114
+ assert.isRejected(store.get({}), '`item.uuid` is required'),
115
+ assert.isRejected(store.get({uuid: 'id1'}), '`item.size` is required'),
116
+ assert.isRejected(
117
+ store.get({uuid: 'id1', size: 80}),
118
+ '`item.uuid` does not appear to be a uuid'
119
+ ),
120
+ assert.isRejected(
121
+ store.get({uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0', size: 80}),
122
+ 'No URL found by specified id'
123
+ ),
124
+ ]));
125
+
126
+ it('set / get / remove', () =>
127
+ Promise.all([
128
+ store.add(item1_80),
129
+ store.add(item2_80),
130
+ store.add(item3_80),
131
+ store.get(item1_80).then((result) => assert.deepEqual(result, item1_80)),
132
+ store.get(item2_80).then((result) => assert.deepEqual(result, item2_80)),
133
+ store.get(item3_80).then((result) => assert.deepEqual(result, item3_80)),
134
+ store.remove(item2_80),
135
+ store.remove(item3_80),
136
+ assert.isRejected(store.get(item3_80)),
137
+ assert.isRejected(store.get(item2_80)),
138
+ store.add(item1_40),
139
+ store.add(item1_50),
140
+ store.add(item1_110),
141
+ store.add(item1_192),
142
+ store.add(item1_640),
143
+ store.add(item1_1600),
144
+ store.remove({uuid: '88888888-4444-4444-4444-aaaaaaaaaaa0'}),
145
+ assert.isRejected(store.get(item1_40)),
146
+ assert.isRejected(store.get(item1_50)),
147
+ assert.isRejected(store.get(item1_80)),
148
+ assert.isRejected(store.get(item1_110)),
149
+ assert.isRejected(store.get(item1_192)),
150
+ assert.isRejected(store.get(item1_640)),
151
+ assert.isRejected(store.get(item1_1600)),
152
+ ]));
153
+ });
154
+ });