Skip to content

Commit

Permalink
Merge pull request #98 from ianalexr/master
Browse files Browse the repository at this point in the history
Added optional port to Piwik domain path
  • Loading branch information
jcassee committed Sep 30, 2016
2 parents 1cd95cd + 4221a1a commit 5a82e9b
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
4 changes: 2 additions & 2 deletions analytical/templatetags/piwik.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
get_required_setting, get_identity)


# domain name (characters separated by a dot), optional URI path, no slash
DOMAINPATH_RE = re.compile(r'^(([^./?#@:]+\.)*[^./?#@:]+)+(/[^/?#@:]+)*$')
# domain name (characters separated by a dot), optional port, optional URI path, no slash
DOMAINPATH_RE = re.compile(r'^(([^./?#@:]+\.)*[^./?#@:]+)+(:[0-9]+)?(/[^/?#@:]+)*$')

# numeric ID
SITEID_RE = re.compile(r'^\d+$')
Expand Down
30 changes: 30 additions & 0 deletions analytical/tests/test_tag_piwik.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,20 @@ def test_domain_path_valid(self):
self.assertTrue(' ? "https" : "http") + "://example.com/piwik/";' in r,
r)

@override_settings(PIWIK_DOMAIN_PATH='example.com:1234',
PIWIK_SITE_ID='345')
def test_domain_port_valid(self):
r = self.render_tag('piwik', 'piwik')
self.assertTrue(' ? "https" : "http") + "://example.com:1234/";' in r,
r)

@override_settings(PIWIK_DOMAIN_PATH='example.com:1234/piwik',
PIWIK_SITE_ID='345')
def test_domain_port_path_valid(self):
r = self.render_tag('piwik', 'piwik')
self.assertTrue(' ? "https" : "http") + "://example.com:1234/piwik/";' in r,
r)

@override_settings(PIWIK_DOMAIN_PATH=None)
def test_no_domain(self):
self.assertRaises(AnalyticalException, PiwikNode)
Expand All @@ -59,6 +73,22 @@ def test_domain_protocol_invalid(self):
def test_domain_slash_invalid(self):
self.assertRaises(AnalyticalException, PiwikNode)

@override_settings(PIWIK_DOMAIN_PATH='example.com:123:456')
def test_domain_multi_port(self):
self.assertRaises(AnalyticalException, PiwikNode)

@override_settings(PIWIK_DOMAIN_PATH='example.com:')
def test_domain_incomplete_port(self):
self.assertRaises(AnalyticalException, PiwikNode)

@override_settings(PIWIK_DOMAIN_PATH='example.com:/piwik')
def test_domain_uri_incomplete_port(self):
self.assertRaises(AnalyticalException, PiwikNode)

@override_settings(PIWIK_DOMAIN_PATH='example.com:12df')
def test_domain_port_invalid(self):
self.assertRaises(AnalyticalException, PiwikNode)

@override_settings(ANALYTICAL_INTERNAL_IPS=['1.1.1.1'])
def test_render_internal_ip(self):
req = HttpRequest()
Expand Down

0 comments on commit 5a82e9b

Please sign in to comment.