58
58
testDeleteTokenCall: function() {
59
59
// A click on the delete link calls the API to delete a token.
60
var mockXhr = new Y.Base();
62
mockXhr.send = function(url, cfg) {
64
Y.Assert.areEqual(MAAS_config.uris.account_handler, url);
66
"op=delete_authorisation_token&token_key=tokenkey1",
69
this.mockIO(mockXhr, module);
60
var log = this.logIO(module);
70
61
var widget = this.createWidget();
72
63
var link = widget.get('srcNode').one('.delete-link');
73
64
link.simulate('click');
74
Y.Assert.isTrue(fired);
65
var request_info = log.pop();
66
Y.Assert.areEqual(MAAS_config.uris.account_handler, request_info[0]);
68
"op=delete_authorisation_token&token_key=tokenkey1",
69
request_info[1].data);
77
72
testDeleteTokenCallsAPI: function() {
86
81
testDeleteTokenFail404DisplaysErrorMessage: function() {
87
82
// If the API call to delete a token fails with a 404 error,
88
83
// an error saying that the key has already been deleted is displayed.
89
var mockXhr = new Y.Base();
90
mockXhr.send = function(url, cfg) {
91
cfg.on.failure(3, {status: 404});
93
this.mockIO(mockXhr, module);
84
this.mockFailure('unused', module, 404);
94
85
var widget = this.createWidget();
96
87
var link = widget.get('srcNode').one('.delete-link');
103
94
testDeleteTokenFailDisplaysErrorMessage: function() {
104
95
// If the API call to delete a token fails, an error is displayed.
105
var mockXhr = new Y.Base();
106
mockXhr.send = function(url, cfg) {
107
cfg.on.failure(3, {status: 500});
109
this.mockIO(mockXhr, module);
96
this.mockFailure('unused', module, 500);
110
97
var widget = this.createWidget();
112
99
var link = widget.get('srcNode').one('.delete-link');
119
106
testDeleteTokenDisplay: function() {
120
107
// When the token is successfully deleted by the API, the
121
108
// corresponding row is deleted.
122
var mockXhr = new Y.Base();
124
mockXhr.send = function(url, cfg) {
128
this.mockIO(mockXhr, module);
109
var log = this.mockSuccess('unused', module);
129
110
var widget = this.createWidget();
131
112
var link = widget.get('srcNode').one('.delete-link');
132
113
Y.Assert.isNotNull(Y.one('#tokenkey1'));
133
114
link.simulate('click');
134
Y.Assert.isTrue(fired);
115
Y.Assert.areEqual(1, log.length);
135
116
Y.Assert.isNull(Y.one('#tokenkey1'));
136
117
Y.Assert.isNotNull(Y.one('#tokenkey2'));
137
118
Y.Assert.areEqual(1, widget.get('nb_tokens'));
159
140
testCreateTokenCall: function() {
160
141
// A click on the "create a new token" link calls the API to
161
142
// create a token.
162
var mockXhr = new Y.Base();
164
mockXhr.send = function(url, cfg) {
166
Y.Assert.areEqual(MAAS_config.uris.account_handler, url);
168
"op=create_authorisation_token",
171
this.mockIO(mockXhr, module);
143
var log = this.logIO(module);
172
144
var widget = this.createWidget();
174
146
var create_link = widget.get('srcNode').one('#create_token');
175
147
create_link.simulate('click');
176
Y.Assert.isTrue(fired);
148
var request_infos = log.pop();
149
Y.Assert.areEqual(MAAS_config.uris.account_handler, request_infos[0]);
151
"op=create_authorisation_token",
152
request_infos[1].data);
179
155
testCreateTokenFail: function() {
180
156
// If the API call to create a token fails, an error is displayed.
181
var mockXhr = new Y.Base();
183
mockXhr.send = function(url, cfg) {
187
this.mockIO(mockXhr, module);
157
var log = this.mockFailure('unused', module);
188
158
var widget = this.createWidget();
190
160
var create_link = widget.get('srcNode').one('#create_token');
191
161
create_link.simulate('click');
192
Y.Assert.isTrue(fired);
162
Y.Assert.areEqual(1, log.length);
193
163
Y.Assert.areEqual(
194
164
'Unable to create a new token.',
195
165
widget.get('srcNode').one('#create_error').get('text'));
198
168
testCreateTokenDisplay: function() {
199
169
// When a new token is successfully created by the API, a new
200
170
// corresponding row is added.
201
var mockXhr = new Y.Base();
203
mockXhr.send = function(url, cfg) {
206
consumer_key: 'consumer_key',
207
token_key: 'token_key',
208
token_secret: 'token_secret'
210
cfg.on.success(3, {response: Y.JSON.stringify(response)});
172
consumer_key: 'consumer_key',
173
token_key: 'token_key',
174
token_secret: 'token_secret'
212
this.mockIO(mockXhr, module);
176
var log = this.mockSuccess(Y.JSON.stringify(response), module);
213
177
var widget = this.createWidget();
215
179
var create_link = widget.get('srcNode').one('#create_token');
216
180
create_link.simulate('click');
217
Y.Assert.isTrue(fired);
181
Y.Assert.areEqual(1, log.length);
218
182
Y.Assert.areEqual(3, widget.get('nb_tokens'));
219
183
Y.Assert.isNotNull(Y.one('#token_key'));