87 |
87 |
<not_result>no result tag</not_result>
|
88 |
88 |
"""
|
89 |
89 |
|
|
90 |
ADD_SITE_ALIAS_URLS_SUCCESS = """<?xml version="1.0" encoding="utf-8" ?>
|
|
91 |
<result>1</result>
|
|
92 |
"""
|
|
93 |
|
|
94 |
ADD_SITE_ALIAS_URLS_ERROR = """<?xml version="1.0" encoding="utf-8" ?>
|
|
95 |
<result>
|
|
96 |
<error message="Merci de specifier une valeur pour idSite" />
|
|
97 |
</result>
|
|
98 |
"""
|
|
99 |
|
90 |
100 |
USER_ALREADY_THERE = """<?xml version="1.0" encoding="utf-8" ?>
|
91 |
101 |
<result>
|
92 |
102 |
<error message="Username 'hobo.dev.publik.love' already exists." />
|
... | ... | |
352 |
362 |
def test_add_site(mocked_post):
|
353 |
363 |
"""webservice to add a new site"""
|
354 |
364 |
mocked_post.return_value.status_code = 200
|
355 |
|
urls = ['https://combo.dev.publik.love',
|
356 |
|
'https://wcs.dev.publik.love']
|
357 |
365 |
with override_settings(MATOMO_SERVER=CONFIG):
|
358 |
366 |
matomo = MatomoWS()
|
359 |
367 |
|
360 |
368 |
# success
|
361 |
369 |
content = ADD_SITE_SUCCESS
|
362 |
370 |
mocked_post.return_value.content = content
|
363 |
|
site_id = matomo.add_site("hobo.dev.publik.love", urls)
|
|
371 |
site_id = matomo.add_site("hobo.dev.publik.love")
|
364 |
372 |
assert site_id == '42'
|
365 |
373 |
|
366 |
374 |
# error
|
... | ... | |
368 |
376 |
mocked_post.return_value.content = content
|
369 |
377 |
with pytest.raises(MatomoError,
|
370 |
378 |
match="Please specify a value for 'siteName'."):
|
371 |
|
site_id = matomo.add_site("hobo.dev.publik.love", urls)
|
|
379 |
site_id = matomo.add_site("hobo.dev.publik.love")
|
372 |
380 |
|
373 |
381 |
# strange message
|
374 |
382 |
content = ADD_SITE_BAD_RESPONSE
|
375 |
383 |
mocked_post.return_value.content = content
|
376 |
384 |
with pytest.raises(MatomoException, match='add_site fails'):
|
377 |
|
site_id = matomo.add_site("hobo.dev.publik.love", urls)
|
|
385 |
site_id = matomo.add_site("hobo.dev.publik.love")
|
|
386 |
|
|
387 |
@mock.patch('requests.post')
|
|
388 |
def test_add_site_alias_url(mocked_post):
|
|
389 |
"""webservice to add a new site"""
|
|
390 |
mocked_post.return_value.status_code = 200
|
|
391 |
urls = ['https://combo.dev.publik.love',
|
|
392 |
'https://wcs.dev.publik.love']
|
|
393 |
with override_settings(MATOMO_SERVER=CONFIG):
|
|
394 |
matomo = MatomoWS()
|
|
395 |
|
|
396 |
# success
|
|
397 |
content = ADD_SITE_ALIAS_URLS_SUCCESS
|
|
398 |
mocked_post.return_value.content = content
|
|
399 |
site_id = matomo.add_site_alias_urls('42', urls)
|
|
400 |
assert site_id == '1'
|
|
401 |
|
|
402 |
# error
|
|
403 |
content = ADD_SITE_ALIAS_URLS_ERROR
|
|
404 |
mocked_post.return_value.content = content
|
|
405 |
with pytest.raises(MatomoError,
|
|
406 |
match="Merci de specifier une valeur pour idSite"):
|
|
407 |
site_id = matomo.add_site_alias_urls(None, urls)
|
|
408 |
|
|
409 |
# strange message
|
|
410 |
content = ADD_SITE_BAD_RESPONSE
|
|
411 |
mocked_post.return_value.content = content
|
|
412 |
with pytest.raises(MatomoException, match='add_site_alias_urls fails'):
|
|
413 |
site_id = matomo.add_site_alias_urls('42', urls)
|
378 |
414 |
|
379 |
415 |
@mock.patch('requests.post')
|
380 |
416 |
def test_add_user(mocked_post):
|
... | ... | |
525 |
561 |
matomo = MatomoWS()
|
526 |
562 |
|
527 |
563 |
# site not already here
|
528 |
|
contents = [GET_NO_SITE_FROM_URL, ADD_SITE_SUCCESS]
|
|
564 |
contents = [GET_NO_SITE_FROM_URL, ADD_SITE_SUCCESS, ADD_SITE_ALIAS_URLS_SUCCESS]
|
529 |
565 |
mocked_post.side_effect = requests_post_mocked_replies(contents)
|
530 |
566 |
site_id = upgrade_site(matomo, "hobo.dev.publik.love", urls)
|
531 |
567 |
assert site_id == '42'
|
532 |
568 |
|
533 |
569 |
# site already here
|
534 |
|
contents = [GET_SITE_42_FROM_URL]
|
|
570 |
contents = [GET_SITE_42_FROM_URL, ADD_SITE_ALIAS_URLS_SUCCESS]
|
535 |
571 |
mocked_post.side_effect = requests_post_mocked_replies(contents)
|
536 |
572 |
site_id = upgrade_site(matomo, "hobo.dev.publik.love", urls)
|
537 |
573 |
assert site_id == '42'
|
538 |
574 |
|
|
575 |
# error while updating urls
|
|
576 |
contents = [GET_SITE_42_FROM_URL, ADD_SITE_ALIAS_URLS_ERROR]
|
|
577 |
mocked_post.side_effect = requests_post_mocked_replies(contents)
|
|
578 |
with pytest.raises(MatomoException):
|
|
579 |
upgrade_site(matomo, "hobo.dev.publik.love", urls)
|
|
580 |
|
539 |
581 |
# error while adding new site
|
540 |
582 |
contents = [GET_NO_SITE_FROM_URL, MATOMO_ERROR]
|
541 |
583 |
mocked_post.side_effect = requests_post_mocked_replies(contents)
|
... | ... | |
663 |
705 |
Fargo.objects.create(base_url='https://fargo.dev.publik.love')
|
664 |
706 |
|
665 |
707 |
with override_settings(MATOMO_SERVER=CONFIG):
|
666 |
|
contents = [GET_NO_SITE_FROM_URL, ADD_SITE_SUCCESS,
|
|
708 |
contents = [GET_NO_SITE_FROM_URL, ADD_SITE_SUCCESS, ADD_SITE_ALIAS_URLS_SUCCESS,
|
667 |
709 |
DEL_UNKNOWN_USER, MATOMO_SUCCESS,
|
668 |
710 |
JAVASCRIPT_TAG, PING_SUCCESS]
|
669 |
711 |
mocked_post.side_effect = requests_post_mocked_replies(contents)
|
... | ... | |
696 |
738 |
Fargo.objects.create(base_url='https://fargo.dev.publik.love')
|
697 |
739 |
|
698 |
740 |
with override_settings(MATOMO_SERVER=CONFIG):
|
699 |
|
contents = [GET_NO_SITE_FROM_URL, ADD_SITE_SUCCESS,
|
|
741 |
contents = [GET_NO_SITE_FROM_URL, ADD_SITE_SUCCESS, ADD_SITE_ALIAS_URLS_SUCCESS,
|
700 |
742 |
DEL_UNKNOWN_USER, MATOMO_SUCCESS,
|
701 |
743 |
JAVASCRIPT_TAG_BAD_RESPONSE]
|
702 |
744 |
mocked_post.side_effect = requests_post_mocked_replies(contents)
|