summaryrefslogtreecommitdiff
path: root/test/test_acl_comparisons.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_acl_comparisons.py')
-rw-r--r--test/test_acl_comparisons.py92
1 files changed, 92 insertions, 0 deletions
diff --git a/test/test_acl_comparisons.py b/test/test_acl_comparisons.py
new file mode 100644
index 0000000..291bf0e
--- /dev/null
+++ b/test/test_acl_comparisons.py
@@ -0,0 +1,92 @@
+from kafka.admin.acl_resource import ACL
+from kafka.admin.acl_resource import ACLOperation
+from kafka.admin.acl_resource import ACLPermissionType
+from kafka.admin.acl_resource import ResourcePattern
+from kafka.admin.acl_resource import ResourceType
+from kafka.admin.acl_resource import ACLResourcePatternType
+
+
+def test_different_acls_are_different():
+ one = ACL(
+ principal='User:A',
+ host='*',
+ operation=ACLOperation.ALL,
+ permission_type=ACLPermissionType.ALLOW,
+ resource_pattern=ResourcePattern(
+ resource_type=ResourceType.TOPIC,
+ resource_name='some-topic',
+ pattern_type=ACLResourcePatternType.LITERAL
+ )
+ )
+
+ two = ACL(
+ principal='User:B', # Different principal
+ host='*',
+ operation=ACLOperation.ALL,
+ permission_type=ACLPermissionType.ALLOW,
+ resource_pattern=ResourcePattern(
+ resource_type=ResourceType.TOPIC,
+ resource_name='some-topic',
+ pattern_type=ACLResourcePatternType.LITERAL
+ )
+ )
+
+ assert one != two
+ assert hash(one) != hash(two)
+
+def test_different_acls_are_different_with_glob_topics():
+ one = ACL(
+ principal='User:A',
+ host='*',
+ operation=ACLOperation.ALL,
+ permission_type=ACLPermissionType.ALLOW,
+ resource_pattern=ResourcePattern(
+ resource_type=ResourceType.TOPIC,
+ resource_name='*',
+ pattern_type=ACLResourcePatternType.LITERAL
+ )
+ )
+
+ two = ACL(
+ principal='User:B', # Different principal
+ host='*',
+ operation=ACLOperation.ALL,
+ permission_type=ACLPermissionType.ALLOW,
+ resource_pattern=ResourcePattern(
+ resource_type=ResourceType.TOPIC,
+ resource_name='*',
+ pattern_type=ACLResourcePatternType.LITERAL
+ )
+ )
+
+ assert one != two
+ assert hash(one) != hash(two)
+
+def test_same_acls_are_same():
+ one = ACL(
+ principal='User:A',
+ host='*',
+ operation=ACLOperation.ALL,
+ permission_type=ACLPermissionType.ALLOW,
+ resource_pattern=ResourcePattern(
+ resource_type=ResourceType.TOPIC,
+ resource_name='some-topic',
+ pattern_type=ACLResourcePatternType.LITERAL
+ )
+ )
+
+ two = ACL(
+ principal='User:A',
+ host='*',
+ operation=ACLOperation.ALL,
+ permission_type=ACLPermissionType.ALLOW,
+ resource_pattern=ResourcePattern(
+ resource_type=ResourceType.TOPIC,
+ resource_name='some-topic',
+ pattern_type=ACLResourcePatternType.LITERAL
+ )
+ )
+
+ assert one == two
+ assert hash(one) == hash(two)
+ assert len(set((one, two))) == 1