aboutsummaryrefslogtreecommitdiffstats
path: root/python_moondb/tests/unit_python/models/test_categories.py
blob: 39dc4c71323edae36dfe2be30d9e7cccfc41038f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
# This software is distributed under the terms and conditions of the 'Apache-2.0'
# license which can be found in the file 'LICENSE' in this package distribution
# or at 'http://www.apache.org/licenses/LICENSE-2.0'.

import pytest
import logging
from python_moonutilities.exceptions import *
from helpers import category_helper

logger = logging.getLogger("moon.db.tests.models.test_categories")


def test_add_subject_category_twice():
    category = category_helper.add_subject_category(
        value={"name": "category name", "description": "description 1"})
    category_id = list(category.keys())[0]
    assert category is not None
    with pytest.raises(SubjectCategoryExisting):
        category_helper.add_subject_category(category_id,
                                             value={"name": "category name",
                                                    "description": "description 2"})


def test_add_subject_category_name_space():
    with pytest.raises(CategoryNameInvalid) as exp:
        category = category_helper.add_subject_category(value={"name": " ", "description":
            "description 1"})
    assert exp.value.code == 400
    assert exp.value.description == 'The given category name is invalid.'


def test_get_subject_categories():
    added_category = category_helper.add_subject_category(
        value={"name": "category name", "description": "description 1"})
    category_id = list(added_category.keys())[0]
    subject_category = category_helper.get_subject_category(category_id)
    assert subject_category == added_category


def test_get_subject_categories_with_invalid_id():
    category_id = "invalid_id"
    subject_category = category_helper.get_subject_category(category_id)
    assert len(subject_category) == 0


def test_add_object_category_twice():
    category = category_helper.add_object_category(
        value={"name": "category name", "description": "description 1"})
    category_id = list(category.keys())[0]
    assert category is not None
    with pytest.raises(ObjectCategoryExisting):
        category_helper.add_object_category(category_id,
                                            value={"name": "category name",
                                                   "description": "description 2"})


def test_add_object_category_name_space():
    with pytest.raises(CategoryNameInvalid) as exp:
        category = category_helper.add_object_category(value={"name": " ", "description":
            "description 1"})
    assert exp.value.code == 400
    assert exp.value.description == 'The given category name is invalid.'


def test_get_object_categories():
    added_category = category_helper.add_object_category(
        value={"name": "category name", "description": "description 1"})
    category_id = list(added_category.keys())[0]
    object_category = category_helper.get_object_category(category_id)
    assert object_category == added_category


def test_get_object_categories_with_invalid_id():
    category_id = "invalid_id"
    object_category = category_helper.get_object_category(category_id)
    assert len(object_category) == 0


def test_add_action_category_twice():
    category = category_helper.add_action_category(
        value={"name": "category name", "description": "description 1"})
    category_id = list(category.keys())[0]
    assert category is not None
    with pytest.raises(ActionCategoryExisting) as exp_info:
        category_helper.add_action_category(category_id,
                                            value={"name": "category name",
                                                   "description": "description 2"})
    assert str(exp_info.value)=='409: Action Category Existing'


def test_add_action_category_name_space():
    with pytest.raises(CategoryNameInvalid) as exp:
        category = category_helper.add_action_category(value={"name": " ", "description":
            "description 1"})
    assert exp.value.code == 400
    assert exp.value.description == 'The given category name is invalid.'


def test_get_action_categories():
    added_category = category_helper.add_action_category(
        value={"name": "category name", "description": "description 1"})
    category_id = list(added_category.keys())[0]
    action_category = category_helper.get_action_category(category_id)
    assert action_category == added_category


def test_get_action_categories_with_invalid_id():
    category_id = "invalid_id"
    action_category = category_helper.get_action_category(category_id)
    assert len(action_category) == 0