diff options
Diffstat (limited to 'test/test_acl_comparisons.py')
-rw-r--r-- | test/test_acl_comparisons.py | 92 |
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 |