Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Unified Diff: media/tools/constrained_network_server/cns_test.py

Issue 10824224: Add CNS function to clean up port matching requester IP address. (Closed) Base URL: http://git.chromium.org/chromium/src.git@cns_apache
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/tools/constrained_network_server/cns_test.py
diff --git a/media/tools/constrained_network_server/cns_test.py b/media/tools/constrained_network_server/cns_test.py
index b07a6512cf0f3dbef0a73dcdea8c4ae83905a251..5d7949567553e1ece584c3e5a67d8a625c7b0b41 100755
--- a/media/tools/constrained_network_server/cns_test.py
+++ b/media/tools/constrained_network_server/cns_test.py
@@ -115,6 +115,37 @@ class PortAllocatorTest(unittest.TestCase):
self.assertEquals(set(self._pa._ports.keys()), set([
cns._DEFAULT_CNS_PORT_RANGE[0], cns._DEFAULT_CNS_PORT_RANGE[0] + 1]))
+ def testPortAllocatorCleanMatchingIP(self):
+ # Setup PortAllocator w/o port expiration.
+ self._pa = cns.PortAllocator(cns._DEFAULT_CNS_PORT_RANGE, 0)
+
+ # Ensure Get() succeeds and returns the correct port.
+ self.assertEquals(self._pa.Get('ip1', t=1), cns._DEFAULT_CNS_PORT_RANGE[0])
+ self.assertEquals(self._pa.Get('ip1', t=2),
+ cns._DEFAULT_CNS_PORT_RANGE[0] + 1)
+ self.assertEquals(self._pa.Get('ip1', t=3),
+ cns._DEFAULT_CNS_PORT_RANGE[0] + 2)
+ self.assertEquals(self._pa.Get('ip2', t=1),
+ cns._DEFAULT_CNS_PORT_RANGE[0] + 3)
+
+ self._pa.Cleanup(all_ports=False, request_ip='ip1')
+
+ self.assertEquals(self._pa._ports.keys(),
+ [cns._DEFAULT_CNS_PORT_RANGE[0] + 3])
+ self.assertEquals(self._pa.Get('ip2'), cns._DEFAULT_CNS_PORT_RANGE[0])
+ self.assertEquals(self._pa.Get('ip1'), cns._DEFAULT_CNS_PORT_RANGE[0] + 1)
+
+ self._pa.Cleanup(all_ports=False, request_ip='ip2')
+ self.assertEquals(self._pa._ports.keys(),
+ [cns._DEFAULT_CNS_PORT_RANGE[0] + 1])
+
+ self._pa.Cleanup(all_ports=False, request_ip='abc')
+ self.assertEquals(self._pa._ports.keys(),
+ [cns._DEFAULT_CNS_PORT_RANGE[0] + 1])
+
+ self._pa.Cleanup(all_ports=False, request_ip='ip1')
+ self.assertEquals(self._pa._ports.keys(), [])
+
class ConstrainedNetworkServerTest(unittest.TestCase):
"""End to end tests for ConstrainedNetworkServer system.

Powered by Google App Engine
This is Rietveld 408576698