Project

General

Profile

« Previous | Next » 

Revision 72553a2d

Added by koszko over 1 year ago

assume and use "$schema" properties in item definitions

View differences:

test/unit/test_repo_query.py
137 137
    'HTTP_code',
138 138
    'invalid_JSON',
139 139
    'newer_API_version',
140
    'invalid_API_version',
140
    'invalid_response_format',
141 141
    'querying_repo',
142 142
    'no_results'
143 143
])
......
183 183
        )
184 184
        show_and_wait_for_repo_entry()
185 185

  
186
        elem = execute_in_page('returnval(view.repo_entries[0].info_span);')
186
        elem = execute_in_page('returnval(view.repo_entries[0].info_div);')
187 187
        done = has_msg('Failure to communicate with repository :(', elem)
188 188
        WebDriverWait(driver, 10).until(done)
189 189
    elif message == 'HTTP_code':
......
195 195
            ''')
196 196
        show_and_wait_for_repo_entry()
197 197

  
198
        elem = execute_in_page('returnval(view.repo_entries[0].info_span);')
198
        elem = execute_in_page('returnval(view.repo_entries[0].info_div);')
199 199
        done = has_msg('Repository sent HTTP code 405 :(', elem)
200 200
        WebDriverWait(driver, 10).until(done)
201 201
    elif message == 'invalid_JSON':
......
207 207
            ''')
208 208
        show_and_wait_for_repo_entry()
209 209

  
210
        elem = execute_in_page('returnval(view.repo_entries[0].info_span);')
210
        elem = execute_in_page('returnval(view.repo_entries[0].info_div);')
211 211
        done = has_msg("Repository's response is not valid JSON :(", elem)
212 212
        WebDriverWait(driver, 10).until(done)
213 213
    elif message == 'newer_API_version':
......
217 217
            const response = {
218 218
                ok: true,
219 219
                status: 200,
220
                json: {api_schema_version: [1234]}
220
                json: {$schema: "https://hydrilla.koszko.org/schemas/api_query_result-3.2.1.schema.json"}
221 221
            };
222 222
            browser.tabs.sendMessage = () => Promise.resolve(response);
223 223
            ''')
224 224
        show_and_wait_for_repo_entry()
225 225

  
226
        elem = execute_in_page('returnval(view.repo_entries[0].info_span);')
227
        msg = 'Results were served using unsupported Hydrilla API version (1234). You might need to update Haketilo.'
226
        elem = execute_in_page('returnval(view.repo_entries[0].info_div);')
227
        msg = 'Results were served using unsupported Hydrilla API version. You might need to update Haketilo.'
228 228
        WebDriverWait(driver, 10).until(has_msg(msg, elem))
229
    elif message == 'invalid_API_version':
229
    elif message == 'invalid_response_format':
230 230
        setup_view(execute_in_page, repo_urls)
231 231
        execute_in_page(
232 232
            '''
233 233
            const response = {
234 234
                ok: true,
235 235
                status: 200,
236
                json: {api_schema_version: null}
236
                /* $schema is not a string as it should be. */
237
                json: {$schema: null}
237 238
            };
238 239
            browser.tabs.sendMessage = () => Promise.resolve(response);
239 240
            ''')
240 241
        show_and_wait_for_repo_entry()
241 242

  
242
        elem = execute_in_page('returnval(view.repo_entries[0].info_span);')
243
        msg = 'Results were served using unsupported Hydrilla API version. You might need to update Haketilo.'
243
        elem = execute_in_page('returnval(view.repo_entries[0].info_div);')
244
        msg = 'Results were served using a nonconforming response format.'
244 245
        WebDriverWait(driver, 10).until(has_msg(msg, elem))
245 246
    elif message == 'querying_repo':
246 247
        setup_view(execute_in_page, repo_urls)
......
249 250
        )
250 251
        show_and_wait_for_repo_entry()
251 252

  
252
        elem = execute_in_page('returnval(view.repo_entries[0].info_span);')
253
        elem = execute_in_page('returnval(view.repo_entries[0].info_div);')
253 254
        assert has_msg('Querying repository...', elem)(0)
254 255
    elif message == 'no_results':
255 256
        setup_view(execute_in_page, repo_urls)
......
259 260
                ok: true,
260 261
                status: 200,
261 262
                json: {
262
                    api_schema_version: [1],
263
                    api_schema_revision: 1,
263
                    $schema: "https://hydrilla.koszko.org/schemas/api_query_result-1.schema.json",
264 264
                    mappings: []
265 265
                }
266 266
            };
......
268 268
            ''')
269 269
        show_and_wait_for_repo_entry()
270 270

  
271
        elem = execute_in_page('returnval(view.repo_entries[0].info_span);')
271
        elem = execute_in_page('returnval(view.repo_entries[0].info_div);')
272 272
        WebDriverWait(driver, 10).until(has_msg('No results :(', elem))
273 273
    else:
274 274
        raise Exception('made a typo in test function params?')

Also available in: Unified diff