Merge lp:~allenap/maas/lamont--ipv6-bmc into lp:~maas-committers/maas/trunk

Proposed by Gavin Panella
Status: Merged
Merged at revision: 5391
Proposed branch: lp:~allenap/maas/lamont--ipv6-bmc
Merge into: lp:~maas-committers/maas/trunk
Prerequisite: lp:~lamont/maas/ipv6-bmc
Diff against target: 57 lines (+28/-6)
1 file modified
src/provisioningserver/power/tests/test_power.py (+28/-6)
To merge this branch: bzr merge lp:~allenap/maas/lamont--ipv6-bmc
Reviewer Review Type Date Requested Status
MAAS Maintainers Pending
Review via email: mp+306579@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/provisioningserver/power/tests/test_power.py'
2--- src/provisioningserver/power/tests/test_power.py 2016-09-23 07:04:39 +0000
3+++ src/provisioningserver/power/tests/test_power.py 2016-09-23 07:04:39 +0000
4@@ -5,6 +5,7 @@
5
6 __all__ = []
7
8+from operator import methodcaller
9 import random
10 import re
11 from unittest.mock import ANY
12@@ -17,7 +18,14 @@
13 from provisioningserver import power
14 from provisioningserver.rpc import region
15 from provisioningserver.rpc.testing import MockClusterToRegionRPCFixture
16-from testtools.matchers import Equals
17+from testtools.matchers import (
18+ AfterPreprocessing,
19+ Equals,
20+ Is,
21+ MatchesAll,
22+ MatchesDict,
23+ Not,
24+)
25
26
27 class TestPowerHelpers(MAASTestCase):
28@@ -146,10 +154,24 @@
29 'schema': 'http'}}),
30 )
31
32- def test_make_ip_extractor(self):
33- actual = re.compile(power.schema.IP_EXTRACTOR_PATTERNS.URL).match(
34- self.val)
35+ def get_expected_matcher(self):
36 if self.expected is None:
37- self.assertEqual(self.expected, actual)
38+ return Is(None)
39 else:
40- self.assertItemsEqual(actual.groupdict(), self.expected)
41+ expected = {
42+ key: Equals(value)
43+ for key, value in self.expected.items()
44+ }
45+ return MatchesAll(
46+ Not(Is(None)),
47+ AfterPreprocessing(
48+ methodcaller("groupdict"),
49+ MatchesDict(expected),
50+ annotate=False,
51+ ),
52+ first_only=True,
53+ )
54+
55+ def test_make_ip_extractor(self):
56+ actual = re.match(power.schema.IP_EXTRACTOR_PATTERNS.URL, self.val)
57+ self.assertThat(actual, self.get_expected_matcher())