~lutostag/ubuntu/trusty/maas/1.5.4+keystone

« back to all changes in this revision

Viewing changes to src/maasserver/static/js/tests/test_prefs.js

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2012-03-27 14:49:56 UTC
  • mto: (20.1.1 quantal) (1.2.1)
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: package-import@ubuntu.com-20120327144956-z5stunhc83bnnwsi
Tags: upstream-0.1+bzr363+dfsg
ImportĀ upstreamĀ versionĀ 0.1+bzr363+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
57
57
 
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();
61
 
        var fired = false;
62
 
        mockXhr.send = function(url, cfg) {
63
 
            fired = true;
64
 
            Y.Assert.areEqual(MAAS_config.uris.account_handler, url);
65
 
            Y.Assert.areEqual(
66
 
                "op=delete_authorisation_token&token_key=tokenkey1",
67
 
                cfg.data);
68
 
        };
69
 
        this.mockIO(mockXhr, module);
 
60
        var log = this.logIO(module);
70
61
        var widget = this.createWidget();
71
62
        widget.render();
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]);
 
67
        Y.Assert.areEqual(
 
68
            "op=delete_authorisation_token&token_key=tokenkey1",
 
69
             request_info[1].data);
75
70
    },
76
71
 
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});
92
 
        };
93
 
        this.mockIO(mockXhr, module);
 
84
        this.mockFailure('unused', module, 404);
94
85
        var widget = this.createWidget();
95
86
        widget.render();
96
87
        var link = widget.get('srcNode').one('.delete-link');
102
93
 
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});
108
 
        };
109
 
        this.mockIO(mockXhr, module);
 
96
        this.mockFailure('unused', module, 500);
110
97
        var widget = this.createWidget();
111
98
        widget.render();
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();
123
 
        var fired = false;
124
 
        mockXhr.send = function(url, cfg) {
125
 
            fired = true;
126
 
            cfg.on.success(3);
127
 
        };
128
 
        this.mockIO(mockXhr, module);
 
109
        var log = this.mockSuccess('unused', module);
129
110
        var widget = this.createWidget();
130
111
        widget.render();
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();
163
 
        var fired = false;
164
 
        mockXhr.send = function(url, cfg) {
165
 
            fired = true;
166
 
            Y.Assert.areEqual(MAAS_config.uris.account_handler, url);
167
 
            Y.Assert.areEqual(
168
 
                "op=create_authorisation_token",
169
 
                cfg.data);
170
 
        };
171
 
        this.mockIO(mockXhr, module);
 
143
        var log = this.logIO(module);
172
144
        var widget = this.createWidget();
173
145
        widget.render();
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]);
 
150
        Y.Assert.areEqual(
 
151
            "op=create_authorisation_token",
 
152
            request_infos[1].data);
177
153
    },
178
154
 
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();
182
 
        var fired = false;
183
 
        mockXhr.send = function(url, cfg) {
184
 
            fired = true;
185
 
            cfg.on.failure(3);
186
 
        };
187
 
        this.mockIO(mockXhr, module);
 
157
        var log = this.mockFailure('unused', module);
188
158
        var widget = this.createWidget();
189
159
        widget.render();
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();
202
 
        var fired = false;
203
 
        mockXhr.send = function(url, cfg) {
204
 
            fired = true;
205
 
            var response = {
206
 
                consumer_key: 'consumer_key',
207
 
                token_key: 'token_key',
208
 
                token_secret: 'token_secret'
209
 
            };
210
 
            cfg.on.success(3, {response: Y.JSON.stringify(response)});
 
171
        var response = {
 
172
            consumer_key: 'consumer_key',
 
173
            token_key: 'token_key',
 
174
            token_secret: 'token_secret'
211
175
        };
212
 
        this.mockIO(mockXhr, module);
 
176
        var log = this.mockSuccess(Y.JSON.stringify(response), module);
213
177
        var widget = this.createWidget();
214
178
        widget.render();
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'));
220
184
    }