aboutsummaryrefslogtreecommitdiffstats
path: root/moonv4/moon_utilities
diff options
context:
space:
mode:
Diffstat (limited to 'moonv4/moon_utilities')
-rw-r--r--moonv4/moon_utilities/README.md26
-rw-r--r--moonv4/moon_utilities/requirements.txt5
-rw-r--r--moonv4/moon_utilities/setup.py17
-rw-r--r--moonv4/moon_utilities/tests/unit_python/conftest.py16
-rw-r--r--moonv4/moon_utilities/tests/unit_python/mock_cache.py (renamed from moonv4/moon_utilities/tests/unit_python/data_mock.py)0
-rw-r--r--moonv4/moon_utilities/tests/unit_python/mock_cache_manager.py (renamed from moonv4/moon_utilities/tests/unit_python/managers_mock.py)2
-rw-r--r--moonv4/moon_utilities/tests/unit_python/requirements.txt2
-rw-r--r--moonv4/moon_utilities/tests/unit_python/test_cache.py128
-rw-r--r--moonv4/moon_utilities/tests/unit_python/test_cache_manager.py70
9 files changed, 158 insertions, 108 deletions
diff --git a/moonv4/moon_utilities/README.md b/moonv4/moon_utilities/README.md
index f5fa43ca..5003b6c4 100644
--- a/moonv4/moon_utilities/README.md
+++ b/moonv4/moon_utilities/README.md
@@ -1,6 +1,6 @@
# Moon Python Utilities Package
-This package contains the core module for the Moon project
-It is designed to provide authorization features to all OpenStack components.
+This package contains the core module for the Moon project.
+It is designed to provide authorization feature to all OpenStack components.
For any other information, refer to the parent project:
@@ -10,14 +10,24 @@ moon_utilities is a common Python lib for other Moon Python packages
## Build
### Build Python Package
-- `cd moon_utilities`
-- `python3 setup.py sdist bdist_wheel`
+```Bash
+cd moon_utilities
+python3 setup.py sdist bdist_wheel
+```
### Push Python Package to PIP
+```bash
+cd moon_utilities
+gpg --detach-sign -u "${GPG_ID}" -a dist/moon_db-X.Y.Z-py3-none-any.whl
+gpg --detach-sign -u "${GPG_ID}" -a dist/moon_db-X.Y.Z.tar.gz
+twine upload dist/moon_db-X.Y.Z-py3-none-any.whl dist/moon_db-X.Y.Z-py3-none-any.whl.asc
+twine upload dist/moon_db-X.Y.Z.tar.gz dist/moon_db-X.Y.Z.tar.gz.asc
+```
## Test
### Python Unit Test
-- launch Docker for Python unit tests
- - `cd moon_utilities`
- - `docker run --rm --volume $(pwd):/data wukongsun/moon_python_unit_test:latest`
-
+launch Docker for Python unit tests
+```bash
+cd moon_utilities
+docker run --rm --volume $(pwd):/data wukongsun/moon_python_unit_test:latest
+```
diff --git a/moonv4/moon_utilities/requirements.txt b/moonv4/moon_utilities/requirements.txt
index e30f5d29..5b80e5f2 100644
--- a/moonv4/moon_utilities/requirements.txt
+++ b/moonv4/moon_utilities/requirements.txt
@@ -1,8 +1,3 @@
-kombu !=4.0.1,!=4.0.0
-oslo.messaging
-oslo.config
-oslo.log
-vine
werkzeug
flask
requests \ No newline at end of file
diff --git a/moonv4/moon_utilities/setup.py b/moonv4/moon_utilities/setup.py
index cd7a2577..21e11419 100644
--- a/moonv4/moon_utilities/setup.py
+++ b/moonv4/moon_utilities/setup.py
@@ -17,11 +17,11 @@ setup(
packages=find_packages(),
- author="Thomas Duval",
+ author='Thomas Duval',
- author_email="thomas.duval@orange.com",
+ author_email='thomas.duval@orange.com',
- description="Some utilities for all the Moon components",
+ description='Some utilities for all the Moon components',
long_description=open('README.md').read(),
@@ -32,12 +32,11 @@ setup(
url='https://git.opnfv.org/cgit/moon',
classifiers=[
- "Programming Language :: Python",
- "Development Status :: 1 - Planning",
- "License :: OSI Approved",
- "Natural Language :: French",
- "Operating System :: OS Independent",
- "Programming Language :: Python :: 3",
+ 'Programming Language :: Python :: 3',
+ 'Development Status :: 1 - Planning',
+ 'License :: OSI Approved',
+ 'Natural Language :: English',
+ 'Operating System :: OS Independent',
],
)
diff --git a/moonv4/moon_utilities/tests/unit_python/conftest.py b/moonv4/moon_utilities/tests/unit_python/conftest.py
index 17ba7852..83350c4d 100644
--- a/moonv4/moon_utilities/tests/unit_python/conftest.py
+++ b/moonv4/moon_utilities/tests/unit_python/conftest.py
@@ -1,7 +1,7 @@
import base64
import json
import logging
-import managers_mock as pdp_manager
+import mock_cache_manager as pdp_manager
import pytest
import requests_mock
@@ -190,20 +190,6 @@ def no_requests(monkeypatch):
)
pdp_manager.mock_managers(m)
print("End registering URI")
- # from moon_db.db_manager import init_engine, run
- # engine = init_engine()
- # print("engine={}".format(engine))
- # run("upgrade", logging.getLogger("db_manager"), engine)
- # print("End populating the DB.")
yield m
-# @pytest.fixture(autouse=True, scope="session")
-# def manage_database():
-# from moon_db.db_manager import init_engine, run
-# engine = init_engine()
-# run("upgrade", logging.getLogger("db_manager"), engine)
-# yield
-# print("Will close the DB")
-
-
diff --git a/moonv4/moon_utilities/tests/unit_python/data_mock.py b/moonv4/moon_utilities/tests/unit_python/mock_cache.py
index 0da5f024..0da5f024 100644
--- a/moonv4/moon_utilities/tests/unit_python/data_mock.py
+++ b/moonv4/moon_utilities/tests/unit_python/mock_cache.py
diff --git a/moonv4/moon_utilities/tests/unit_python/managers_mock.py b/moonv4/moon_utilities/tests/unit_python/mock_cache_manager.py
index 2effec4e..372e78f0 100644
--- a/moonv4/moon_utilities/tests/unit_python/managers_mock.py
+++ b/moonv4/moon_utilities/tests/unit_python/mock_cache_manager.py
@@ -1,4 +1,4 @@
-import data_mock as data
+import mock_cache as data
def mock_managers(m1):
diff --git a/moonv4/moon_utilities/tests/unit_python/requirements.txt b/moonv4/moon_utilities/tests/unit_python/requirements.txt
new file mode 100644
index 00000000..3c1ad607
--- /dev/null
+++ b/moonv4/moon_utilities/tests/unit_python/requirements.txt
@@ -0,0 +1,2 @@
+pytest
+requests_mock \ No newline at end of file
diff --git a/moonv4/moon_utilities/tests/unit_python/test_cache.py b/moonv4/moon_utilities/tests/unit_python/test_cache.py
index 15c5f22a..ae4a4a77 100644
--- a/moonv4/moon_utilities/tests/unit_python/test_cache.py
+++ b/moonv4/moon_utilities/tests/unit_python/test_cache.py
@@ -1,5 +1,133 @@
+import pytest
+import mock_cache as data
+
def test_cache():
from moon_utilities import cache
c = cache.Cache()
assert isinstance(c.authz_requests, dict)
+
+
+def test_get_subject_success():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'subject_name'
+ subject_id = cache_obj.get_subject(policy_id, name)
+ assert subject_id is not None
+
+
+def test_get_subject_failure():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'invalid name'
+ with pytest.raises(Exception) as exception_info:
+ cache_obj.get_subject(policy_id, name)
+ assert str(exception_info.value) == '400: Subject Unknown'
+
+
+def test_get_object_success():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'object_name'
+ object_id = cache_obj.get_object(policy_id, name)
+ assert object_id is not None
+
+
+def test_get_object_failure():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'invalid name'
+ with pytest.raises(Exception) as exception_info:
+ cache_obj.get_object(policy_id, name)
+ assert str(exception_info.value) == '400: Subject Unknown'
+
+
+def test_get_action_success():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'action_name'
+ action_id = cache_obj.get_action(policy_id, name)
+ assert action_id is not None
+
+
+def test_get_action_failure():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'invalid name'
+ with pytest.raises(Exception) as exception_info:
+ cache_obj.get_action(policy_id, name)
+ assert str(exception_info.value) == '400: Subject Unknown'
+
+
+def test_cache_manager():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ assert cache_obj.pdp is not None
+ assert cache_obj.meta_rules is not None
+ assert len(cache_obj.meta_rules) == 2
+ assert cache_obj.policies is not None
+ assert len(cache_obj.policies) == 2
+ assert cache_obj.models is not None
+
+
+def test_get_subject_success():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'subject_name'
+ subject_id = cache_obj.get_subject(policy_id, name)
+ assert subject_id is not None
+
+
+def test_get_subject_failure():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'invalid name'
+ with pytest.raises(Exception) as exception_info:
+ cache_obj.get_subject(policy_id, name)
+ assert str(exception_info.value) == '400: Subject Unknown'
+
+
+def test_get_object_success():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'object_name'
+ object_id = cache_obj.get_object(policy_id, name)
+ assert object_id is not None
+
+
+def test_get_object_failure():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'invalid name'
+ with pytest.raises(Exception) as exception_info:
+ cache_obj.get_object(policy_id, name)
+ assert str(exception_info.value) == '400: Subject Unknown'
+
+
+def test_get_action_success():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'action_name'
+ action_id = cache_obj.get_action(policy_id, name)
+ assert action_id is not None
+
+
+def test_get_action_failure():
+ from moon_utilities import cache
+ cache_obj = cache.Cache()
+ policy_id = 'policy_id_1'
+ name = 'invalid name'
+ with pytest.raises(Exception) as exception_info:
+ cache_obj.get_action(policy_id, name)
+ assert str(exception_info.value) == '400: Subject Unknown'
diff --git a/moonv4/moon_utilities/tests/unit_python/test_cache_manager.py b/moonv4/moon_utilities/tests/unit_python/test_cache_manager.py
deleted file mode 100644
index fb2930aa..00000000
--- a/moonv4/moon_utilities/tests/unit_python/test_cache_manager.py
+++ /dev/null
@@ -1,70 +0,0 @@
-import pytest
-import data_mock as data
-
-
-def test_cache_manager():
- from moon_utilities import cache
- cache_obj = cache.Cache()
- assert cache_obj.pdp is not None
- assert cache_obj.meta_rules is not None
- assert len(cache_obj.meta_rules) == 2
- assert cache_obj.policies is not None
- assert len(cache_obj.policies) == 2
- assert cache_obj.models is not None
-
-
-def test_get_subject_success():
- from moon_utilities import cache
- cache_obj = cache.Cache()
- policy_id = 'policy_id_1'
- name = 'subject_name'
- subject_id = cache_obj.get_subject(policy_id, name)
- assert subject_id is not None
-
-
-def test_get_subject_failure():
- from moon_utilities import cache
- cache_obj = cache.Cache()
- policy_id = 'policy_id_1'
- name = 'invalid name'
- with pytest.raises(Exception) as exception_info:
- cache_obj.get_subject(policy_id, name)
- assert str(exception_info.value) == '400: Subject Unknown'
-
-
-def test_get_object_success():
- from moon_utilities import cache
- cache_obj = cache.Cache()
- policy_id = 'policy_id_1'
- name = 'object_name'
- object_id = cache_obj.get_object(policy_id, name)
- assert object_id is not None
-
-
-def test_get_object_failure():
- from moon_utilities import cache
- cache_obj = cache.Cache()
- policy_id = 'policy_id_1'
- name = 'invalid name'
- with pytest.raises(Exception) as exception_info:
- cache_obj.get_object(policy_id, name)
- assert str(exception_info.value) == '400: Subject Unknown'
-
-
-def test_get_action_success():
- from moon_utilities import cache
- cache_obj = cache.Cache()
- policy_id = 'policy_id_1'
- name = 'action_name'
- action_id = cache_obj.get_action(policy_id, name)
- assert action_id is not None
-
-
-def test_get_action_failure():
- from moon_utilities import cache
- cache_obj = cache.Cache()
- policy_id = 'policy_id_1'
- name = 'invalid name'
- with pytest.raises(Exception) as exception_info:
- cache_obj.get_action(policy_id, name)
- assert str(exception_info.value) == '400: Subject Unknown'