def test_policy_app_conn_mgr_fail_by_hosts(self): stats = PolicyAppConnectionMgr(3, 2, 1) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags)) self.assertFalse(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags)) self.assertTrue(len(diags) == 1) self.assertTrue('per host' in diags[0])
def test_policy_app_conn_mgr_fail_by_total(self): stats = PolicyAppConnectionMgr(1, 2, 2) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags)) self.assertFalse(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags)) self.assertTrue(len(diags) == 1) self.assertTrue('application connection limit' in diags[0])
def test_policy_app_conn_mgr_larger_counts(self): stats = PolicyAppConnectionMgr(10000, 10000, 10000) diags = [] for i in range(0, 10000): self.assertTrue(stats.can_connect('1.1.1.1:' + str(i), 'chuck', '1.1.1.1', diags)) self.assertTrue(len(diags) == 0) self.assertFalse(stats.can_connect('1.1.1.1:10000', 'chuck', '1.1.1.1', diags)) self.assertTrue(len(diags) == 3) self.assertTrue(stats.connections_active == 10000) self.assertTrue(stats.connections_approved == 10000) self.assertTrue(stats.connections_denied == 1)
def test_policy_app_conn_mgr_fail_by_user(self): stats = PolicyAppConnectionMgr(3, 1, 2) diags = [] self.assertTrue( stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags)) self.assertFalse( stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags)) self.assertTrue(len(diags) == 1) self.assertTrue('per user' in diags[0])
def test_policy_app_conn_mgr_fail_by_total(self): stats = PolicyAppConnectionMgr(1, 2, 2) diags = [] self.assertTrue( stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags)) self.assertFalse( stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags)) self.assertTrue(len(diags) == 1) self.assertTrue('application connection limit' in diags[0])
def test_policy_app_conn_mgr_larger_counts(self): stats = PolicyAppConnectionMgr(10000, 10000, 10000) diags = [] for i in range(0, 10000): self.assertTrue(stats.can_connect('1.1.1.1:' + str(i), 'chuck', '1.1.1.1', diags, None, None)) self.assertTrue(len(diags) == 0) self.assertFalse(stats.can_connect('1.1.1.1:10000', 'chuck', '1.1.1.1', diags, None, None)) self.assertTrue(len(diags) == 3) self.assertTrue(stats.connections_active == 10000) self.assertTrue(stats.connections_approved == 10000) self.assertTrue(stats.connections_denied == 1)
def test_policy_app_conn_mgr_update_bad_settings(self): denied = False try: stats = PolicyAppConnectionMgr(0, 0, 0) except PolicyError: denied = True self.assertFalse(denied, "Should allow all zeros.") try: stats.update(0, -1, 0) except PolicyError: denied = True self.assertTrue(denied, "Failed to detect negative setting value.")
def test_policy_app_conn_mgr_create_bad_settings(self): denied = False try: stats = PolicyAppConnectionMgr(-3, 1, 2) except PolicyError: denied = True self.assertTrue(denied, "Failed to detect negative setting value.")
def test_policy_app_conn_mgr_disconnect(self): stats = PolicyAppConnectionMgr(3, 1, 2) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags, None, None)) self.assertFalse(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags, None, None)) self.assertTrue(len(diags) == 1) self.assertTrue('per user' in diags[0]) diags = [] stats.disconnect("10.10.10.10:10000", 'chuck', '10.10.10.10') self.assertTrue(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags, None, None))
def test_policy_app_conn_mgr_disconnect(self): stats = PolicyAppConnectionMgr(3, 1, 2) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags)) self.assertFalse(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags)) self.assertTrue(len(diags) == 1) self.assertTrue('per user' in diags[0]) diags = [] stats.disconnect("10.10.10.10:10000", 'chuck', '10.10.10.10') self.assertTrue(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags))
def test_policy_app_conn_mgr_fail_by_hosts(self): stats = PolicyAppConnectionMgr(3, 2, 1) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags, None, None)) self.assertFalse(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags, None, None)) self.assertTrue(len(diags) == 1) self.assertTrue('per host' in diags[0]) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10002', 'chuck', '10.10.10.10', diags, None, 2)) self.assertFalse(stats.can_connect('10.10.10.10:10003', 'chuck', '10.10.10.10', diags, None, 2))
def test_policy_app_conn_mgr_fail_by_user_hosts(self): stats = PolicyAppConnectionMgr(3, 1, 1) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10000', 'chuck', '10.10.10.10', diags, None, None)) self.assertFalse(stats.can_connect('10.10.10.10:10001', 'chuck', '10.10.10.10', diags, None, None)) self.assertTrue(len(diags) == 2) success = 'per user' in diags[0] or 'per user' in diags[1] self.assertTrue(success) diags = [] self.assertTrue(stats.can_connect('10.10.10.10:10002', 'chuck', '10.10.10.10', diags, 2, 2)) self.assertFalse(stats.can_connect('10.10.10.10:10003', 'chuck', '10.10.10.10', diags, 2, 2))