Revision 1e882dd7 snf-cyclades-app/synnefo/ui/static/snf/js/tests.js
b/snf-cyclades-app/synnefo/ui/static/snf/js/tests.js | ||
---|---|---|
47 | 47 |
'compute': '/api/v1.1', |
48 | 48 |
'glance':'/images/v1.1' |
49 | 49 |
}; |
50 |
|
|
51 |
// what messages to display based on vm status |
|
52 |
synnefo.config.diagnostics_status_messages_map = { |
|
53 |
'BUILD': ['image-helper-task-start', 'image-info'], |
|
54 |
'ERROR': ['image-error'] |
|
55 |
}; |
|
56 |
synnefo.config.diagnostic_messages_tpls = { |
|
57 |
'image-helper-task-start': "Running 'MESSAGE'" |
|
58 |
}; |
|
50 | 59 |
|
51 | 60 |
snf.user = {'token': 'TESTTOKEN'} |
52 | 61 |
|
53 | 62 |
module("VM Model") |
63 |
|
|
64 |
test("vm diagnostics", function() { |
|
65 |
synnefo.storage.images.add({ |
|
66 |
id:1, |
|
67 |
size: 100, |
|
68 |
metadata:{ |
|
69 |
values: { |
|
70 |
size: 100 |
|
71 |
} |
|
72 |
} |
|
73 |
}); |
|
74 |
synnefo.storage.vms.add({id:1, imageRef:1}); |
|
75 |
var vm = synnefo.storage.vms.at(0); |
|
76 |
var diagnostics = [{ |
|
77 |
source:'image-helper-task-start', |
|
78 |
message:'SSHCopyKey' |
|
79 |
}]; |
|
80 |
synnefo.storage.vms.update([{id:1, |
|
81 |
progress: 0, |
|
82 |
status: "BUILD"}], |
|
83 |
{silent:false}); |
|
84 |
equal(vm.get('status_message'), "init", |
|
85 |
"Show initial progress message"); |
|
86 |
synnefo.storage.vms.update([{id:1, |
|
87 |
progress: 10, |
|
88 |
status: "BUILD"}], |
|
89 |
{silent:false}); |
|
90 |
equal(vm.get('status_message'), "10.00 MB, 100.00 MB, 10", |
|
91 |
"Construct message based on image size"); |
|
92 |
synnefo.storage.vms.update([{id:1, |
|
93 |
progress: 99, |
|
94 |
status: "BUILD"}], |
|
95 |
{silent:false}); |
|
96 |
equal(vm.get('status_message'), "99.00 MB, 100.00 MB, 99", |
|
97 |
"Calculate 99% of image size and display image"); |
|
98 |
synnefo.storage.vms.update([{id:1, |
|
99 |
progress: 99, |
|
100 |
status: "ERROR"}], |
|
101 |
{silent:false}); |
|
102 |
equal(vm.get('status_message'), null); |
|
103 |
synnefo.storage.vms.update([{id:1, |
|
104 |
progress: 100, |
|
105 |
status: "BUILD"}], |
|
106 |
{silent:false}); |
|
107 |
equal(vm.get('status_message'), "final", |
|
108 |
"Progress is 100, show finializing progress message"); |
|
109 |
synnefo.storage.vms.update([{id:1, |
|
110 |
progress: 100, |
|
111 |
diagnostics: _.clone(diagnostics), |
|
112 |
status: "BUILD"}], |
|
113 |
{silent:false}); |
|
114 |
|
|
115 |
synnefo.storage.vms.update([{id:1, |
|
116 |
progress: 100, |
|
117 |
diagnostics: _.clone(diagnostics), |
|
118 |
status: "BUILD"}], |
|
119 |
{silent:false}); |
|
120 |
equal(vm.get('status_message'), "Running 'SSHCopyKey'", |
|
121 |
"Diagnostics added, show first building diagnostic message"); |
|
122 |
|
|
123 |
diagnostics.unshift({source:'unknown-source', message:'H&^^ACJJ'}); |
|
124 |
synnefo.storage.vms.update([{id:1, |
|
125 |
progress: 100, |
|
126 |
diagnostics: _.clone(diagnostics), |
|
127 |
status: "BUILD"}], |
|
128 |
{silent:false}); |
|
129 |
equal(vm.get('status_message'), "Running 'SSHCopyKey'", |
|
130 |
"Unwanted diagnostics get filtered out, progress message remains"); |
|
131 |
|
|
132 |
synnefo.storage.vms.update([{id:1, |
|
133 |
progress: 100, |
|
134 |
diagnostics: _.clone(diagnostics), |
|
135 |
status: "ERROR"}], |
|
136 |
{silent:false}); |
|
137 |
equal(vm.get('status_message'), null, |
|
138 |
"In error state since no error diagnostic is set we get null"); |
|
139 |
|
|
140 |
diagnostics.unshift({source:'image-error', message:'Image error'}); |
|
141 |
synnefo.storage.vms.update([{id:1, |
|
142 |
progress: 100, |
|
143 |
diagnostics: _.clone(diagnostics), |
|
144 |
status: "BUILD"}], |
|
145 |
{silent:false}); |
|
146 |
equal(vm.get('status_message'), "Running 'SSHCopyKey'"); |
|
147 |
|
|
148 |
diagnostics.unshift({source:'image-error', message:'Image error'}); |
|
149 |
synnefo.storage.vms.update([{id:1, |
|
150 |
progress: 100, |
|
151 |
diagnostics: _.clone(diagnostics), |
|
152 |
status: "ERROR"}], |
|
153 |
{silent:false}); |
|
154 |
equal(vm.get('status_message'), "Image error"); |
|
155 |
|
|
156 |
synnefo.storage.vms.update([{id:1, |
|
157 |
progress: 100, |
|
158 |
diagnostics: _.clone(diagnostics), |
|
159 |
status: "ACTIVE"}], |
|
160 |
{silent:false}); |
|
161 |
equal(vm.get('status_message'), null); |
|
162 |
|
|
163 |
}); |
|
164 |
|
|
54 | 165 |
|
55 | 166 |
test("model change events", function(){ |
56 | 167 |
expect(8); |
... | ... | |
358 | 469 |
|
359 | 470 |
module("network vm connections") |
360 | 471 |
test("network vm connections", function() { |
361 |
|
|
362 | 472 |
function _net(id, ip) { |
363 | 473 |
return { |
364 | 474 |
id: id, |
Also available in: Unified diff