Skip to content

Commit

Permalink
Change test correlate to functions
Browse files Browse the repository at this point in the history
  • Loading branch information
pbortlov committed Oct 26, 2020
1 parent ce04dba commit c00d192
Show file tree
Hide file tree
Showing 2 changed files with 166 additions and 48 deletions.
6 changes: 3 additions & 3 deletions iiblib/iib_build_details_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class AddModel(IIBBuildDetailsModel):
"batch_annotations",
"logs",
"updated",
"user"
"user",
]

_kwattrs = [
Expand Down Expand Up @@ -176,7 +176,7 @@ class RmModel(IIBBuildDetailsModel):
"batch_annotations",
"logs",
"updated",
"user"
"user",
]

_kwattrs = [
Expand Down Expand Up @@ -246,7 +246,7 @@ class RegenerateBundleModel(IIBBuildDetailsModel):
"batch_annotations",
"logs",
"updated",
"user"
"user",
]

_kwattrs = [
Expand Down
208 changes: 163 additions & 45 deletions tests/test_iib_build_details_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,37 @@ def fixture_regenerate_bundle_build_details_json():
return json


def test_add_model(fixture_add_build_details_json):
unexpected_model = AddModel(
@pytest.fixture
def fixture_unknown_build_details_json():
json = {
"id": 3,
"arches": ["x86_64"],
"state": "in_progress",
"state_reason": "state_reason",
"request_type": "unknown",
"state_history": [],
"batch": 1,
"batch_annotations": {"batch_annotations": 1},
"logs": {},
"updated": "updated",
"user": "user@example.com",
"bundle_image": "bundle_image",
"from_bundle_image": "from_bundle_image",
"from_bundle_image_resolved": "from_bundle_image_resolved",
"organization": "organization",
}
return json


def test_from_dict_success(
fixture_add_build_details_json,
fixture_rm_build_details_json,
fixture_regenerate_bundle_build_details_json,
):
add_model = AddModel(
1,
["x86_64"],
"finished",
"in_progress",
"state_reason",
"add",
[],
Expand All @@ -112,12 +138,12 @@ def test_add_model(fixture_add_build_details_json):
omps_operator_version={"operator": "1.0"},
distribution_scope="null",
)
expected_model = AddModel(
1,
rm_model = RmModel(
2,
["x86_64"],
"in_progress",
"state_reason",
"add",
"rm",
[],
1,
{"batch_annotations": 1},
Expand All @@ -133,25 +159,54 @@ def test_add_model(fixture_add_build_details_json):
index_image="index_image",
removed_operators=["operator1"],
organization="organization",
omps_operator_version={"operator": "1.0"},
distribution_scope="null",
)
model = IIBBuildDetailsModel.from_dict(fixture_add_build_details_json)
assert model == expected_model
assert model != unexpected_model

model = IIBBuildDetailsModel.from_dict(fixture_add_build_details_json).to_dict()
assert model == expected_model.to_dict()
assert model != unexpected_model.to_dict()
regenerate_bundle_model = RegenerateBundleModel(
3,
["x86_64"],
"in_progress",
"state_reason",
"regenerate-bundle",
[],
1,
{"batch_annotations": 1},
{},
"updated",
"user@example.com",
bundle_image="bundle_image",
from_bundle_image="from_bundle_image",
from_bundle_image_resolved="from_bundle_image_resolved",
organization="organization",
)

model1 = IIBBuildDetailsModel.from_dict(fixture_add_build_details_json)
assert model1 == add_model

def test_rm_model(fixture_rm_build_details_json):
unexpected_model = RmModel(
2,
model2 = IIBBuildDetailsModel.from_dict(fixture_rm_build_details_json)
assert model2 == rm_model

model3 = IIBBuildDetailsModel.from_dict(
fixture_regenerate_bundle_build_details_json
)
assert model3 == regenerate_bundle_model


def test_from_dict_failure(
fixture_add_build_details_json,
fixture_rm_build_details_json,
fixture_regenerate_bundle_build_details_json,
fixture_unknown_build_details_json,
):

error_msg = "Unsupported request type: unknown"

add_model_state_finished = AddModel(
1,
["x86_64"],
"finished",
"state_reason",
"rm",
"add",
[],
1,
{"batch_annotations": 1},
Expand All @@ -167,9 +222,10 @@ def test_rm_model(fixture_rm_build_details_json):
index_image="index_image",
removed_operators=["operator1"],
organization="organization",
omps_operator_version={"operator": "1.0"},
distribution_scope="null",
)
expected_model = RmModel(
rm_model_binary_image_missing = RmModel(
2,
["x86_64"],
"in_progress",
Expand All @@ -181,7 +237,6 @@ def test_rm_model(fixture_rm_build_details_json):
{},
"updated",
"user@example.com",
binary_image="binary_image",
binary_image_resolved="binary_image_resolved",
bundles=["bundles1"],
bundle_mapping={"bundle_mapping": "map"},
Expand All @@ -192,20 +247,10 @@ def test_rm_model(fixture_rm_build_details_json):
organization="organization",
distribution_scope="null",
)
model = IIBBuildDetailsModel.from_dict(fixture_rm_build_details_json)
assert model == expected_model
assert model != unexpected_model

model = IIBBuildDetailsModel.from_dict(fixture_rm_build_details_json).to_dict()
assert model == expected_model.to_dict()
assert model != unexpected_model.to_dict()


def test_regenerate_bundle_model(fixture_regenerate_bundle_build_details_json):
unexpected_model = RegenerateBundleModel(
regenerate_bundle_model_bundle_image_missing = RegenerateBundleModel(
3,
["x86_64"],
"finished",
"in_progress",
"state_reason",
"regenerate-bundle",
[],
Expand All @@ -214,34 +259,107 @@ def test_regenerate_bundle_model(fixture_regenerate_bundle_build_details_json):
{},
"updated",
"user@example.com",
bundle_image="bundle_image",
from_bundle_image="from_bundle_image",
from_bundle_image_resolved="from_bundle_image_resolved",
organization="organization",
)
expected_model = RegenerateBundleModel(
3,

model1 = IIBBuildDetailsModel.from_dict(fixture_add_build_details_json)
assert model1 != add_model_state_finished

model2 = IIBBuildDetailsModel.from_dict(fixture_rm_build_details_json)
assert model2 != rm_model_binary_image_missing

model3 = IIBBuildDetailsModel.from_dict(
fixture_regenerate_bundle_build_details_json
)
assert model3 != regenerate_bundle_model_bundle_image_missing

with pytest.raises(KeyError, match=error_msg):
IIBBuildDetailsModel.from_dict(fixture_unknown_build_details_json)


def test_to_dict_success(fixture_rm_build_details_json):

rm_model = RmModel(
2,
["x86_64"],
"in_progress",
"state_reason",
"regenerate-bundle",
"rm",
[],
1,
{"batch_annotations": 1},
{},
"updated",
"user@example.com",
bundle_image="bundle_image",
from_bundle_image="from_bundle_image",
from_bundle_image_resolved="from_bundle_image_resolved",
binary_image="binary_image",
binary_image_resolved="binary_image_resolved",
bundles=["bundles1"],
bundle_mapping={"bundle_mapping": "map"},
from_index="from_index",
from_index_resolved="from_index_resolved",
index_image="index_image",
removed_operators=["operator1"],
organization="organization",
distribution_scope="null",
)

model = IIBBuildDetailsModel.from_dict(fixture_rm_build_details_json).to_dict()
assert model == rm_model.to_dict()


def test_general_properties(fixture_add_build_details_json):
model = IIBBuildDetailsModel.from_dict(fixture_add_build_details_json)

assert model.id == model.data["id"]
assert model.arches == model.data["arches"]
assert model.state == model.data["state"]
assert model.state_reason == model.data["state_reason"]
assert model.request_type == model.data["request_type"]
assert model.state_history == model.data["state_history"]
assert model.batch == model.data["batch"]
assert model.batch_annotations == model.data["batch_annotations"]
assert model.logs == model.data["logs"]
assert model.updated == model.data["updated"]
assert model.user == model.data["user"]


def test_add_model_properties(fixture_add_build_details_json):
model = IIBBuildDetailsModel.from_dict(fixture_add_build_details_json)

assert model.binary_image == model.data["binary_image"]
assert model.binary_image_resolved == model.data["binary_image_resolved"]
assert model.bundles == model.data["bundles"]
assert model.bundle_mapping == model.data["bundle_mapping"]
assert model.from_index == model.data["from_index"]
assert model.from_index_resolved == model.data["from_index_resolved"]
assert model.index_image == model.data["index_image"]
assert model.removed_operators == model.data["removed_operators"]
assert model.organization == model.data["organization"]
assert model.omps_operator_version == model.data["omps_operator_version"]
assert model.distribution_scope == model.data["distribution_scope"]


def test_rm_model_properties(fixture_rm_build_details_json):
model = IIBBuildDetailsModel.from_dict(fixture_rm_build_details_json)

assert model.binary_image == model.data["binary_image"]
assert model.binary_image_resolved == model.data["binary_image_resolved"]
assert model.bundles == model.data["bundles"]
assert model.bundle_mapping == model.data["bundle_mapping"]
assert model.from_index == model.data["from_index"]
assert model.from_index_resolved == model.data["from_index_resolved"]
assert model.index_image == model.data["index_image"]
assert model.removed_operators == model.data["removed_operators"]
assert model.organization == model.data["organization"]
assert model.distribution_scope == model.data["distribution_scope"]


def test_regenerate_bundle_model_properties(fixture_regenerate_bundle_build_details_json):
model = IIBBuildDetailsModel.from_dict(fixture_regenerate_bundle_build_details_json)
assert model == expected_model
assert model != unexpected_model

model = IIBBuildDetailsModel.from_dict(
fixture_regenerate_bundle_build_details_json
).to_dict()
assert model == expected_model.to_dict()
assert model != unexpected_model.to_dict()
assert model.bundle_image == model.data["bundle_image"]
assert model.from_bundle_image == model.data["from_bundle_image"]
assert model.from_bundle_image_resolved == model.data["from_bundle_image_resolved"]
assert model.organization == model.data["organization"]

0 comments on commit c00d192

Please sign in to comment.