Browse Source

Fix bug in ultra provider tests when run in Python 2.7

The test_login test from TestUltraProvider would fail in Python 2.7
due to the dictionary insertion order not being preserved in 2.7
and early 3.x versions. Comparing the dictionaries containing the
query parameters solves this. Snippet from test failure:

- username=user&password=rightpass&grant_type=password
+ grant_type=password&username=user&password=rightpass
pull/732/head
blanariu 5 years ago
parent
commit
e934ea0423
1 changed files with 11 additions and 1 deletions
  1. +11
    -1
      tests/test_octodns_provider_ultra.py

+ 11
- 1
tests/test_octodns_provider_ultra.py View File

@ -1,3 +1,12 @@
from __future__ import unicode_literals
try:
# Python 3
from urllib.parse import parse_qs
except ImportError:
# Python 2
from urlparse import parse_qs
from mock import Mock, call from mock import Mock, call
from os.path import dirname, join from os.path import dirname, join
from requests import HTTPError from requests import HTTPError
@ -55,7 +64,8 @@ class TestUltraProvider(TestCase):
self.assertEquals(1, mock.call_count) self.assertEquals(1, mock.call_count)
expected_payload = "grant_type=password&username=user&"\ expected_payload = "grant_type=password&username=user&"\
"password=rightpass" "password=rightpass"
self.assertEquals(mock.last_request.text, expected_payload)
self.assertEquals(parse_qs(mock.last_request.text),
parse_qs(expected_payload))
def test_get_zones(self): def test_get_zones(self):
provider = _get_provider() provider = _get_provider()


Loading…
Cancel
Save