Commit 2773a8db authored by Karagkounis Dimitris's avatar Karagkounis Dimitris
Browse files

add custom pytest mark 'unit' for unit tests without external dependencies. mv...

add custom pytest mark 'unit' for unit tests without external dependencies. mv mock fixture in fixture file
parent f1ecd0b2
Loading
Loading
Loading
Loading
+23 −0
Original line number Original line Diff line number Diff line
[
    {
        "edgeCloudZoneId": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
        "edgeCloudZoneName": "Zone1",
        "edgeCloudZoneStatus": "active",
        "edgeCloudProvider": "Provider1",
        "edgeCloudRegion": "Region1"
    },
    {
        "edgeCloudZoneId": "513e4567-e89b-12d3-a456-426614174000",
        "edgeCloudZoneName": "Zone3",
        "edgeCloudZoneStatus": "inactive",
        "edgeCloudProvider": "Provider3",
        "edgeCloudRegion": "Region1"
    },
    {
        "edgeCloudZoneId": "123e4567-e89b-12d3-a456-426614174000",
        "edgeCloudZoneName": "Zone2",
        "edgeCloudZoneStatus": "inactive",
        "edgeCloudProvider": "Provider2",
        "edgeCloudRegion": "Region2"
    }
]
 No newline at end of file
+13 −26
Original line number Original line Diff line number Diff line
import json
import pathlib
import pytest
import pytest
from unittest.mock import MagicMock, patch
from unittest.mock import MagicMock, patch
from flask import Flask
from flask import Flask
@@ -6,30 +8,6 @@ from edge_cloud_management_api.controllers.edge_cloud_controller import (
)
)
from edge_cloud_management_api.app import get_app_instance
from edge_cloud_management_api.app import get_app_instance


MOCK_ZONES = [
    {
        "edgeCloudZoneId": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
        "edgeCloudZoneName": "Zone1",
        "edgeCloudZoneStatus": "active",
        "edgeCloudProvider": "Provider1",
        "edgeCloudRegion": "Region1",
    },
    {
        "edgeCloudZoneId": "513e4567-e89b-12d3-a456-426614174000",
        "edgeCloudZoneName": "Zone3",
        "edgeCloudZoneStatus": "inactive",
        "edgeCloudProvider": "Provider3",
        "edgeCloudRegion": "Region1",
    },
    {
        "edgeCloudZoneId": "123e4567-e89b-12d3-a456-426614174000",
        "edgeCloudZoneName": "Zone2",
        "edgeCloudZoneStatus": "inactive",
        "edgeCloudProvider": "Provider2",
        "edgeCloudRegion": "Region2",
    },
]



@pytest.fixture
@pytest.fixture
def test_app():
def test_app():
@@ -38,14 +16,23 @@ def test_app():




@pytest.fixture
@pytest.fixture
def mock_get_all_cloud_zones():
def mock_zones():
    tests_path = pathlib.Path(__file__).resolve().parent.parent.parent
    with open(tests_path / "fixtures/edge-cloud-zones.json") as f:
        data = json.load(f)
    return data


@pytest.fixture
def mock_get_all_cloud_zones(mock_zones):
    with patch(
    with patch(
        "edge_cloud_management_api.controllers.edge_cloud_controller.get_all_cloud_zones",
        "edge_cloud_management_api.controllers.edge_cloud_controller.get_all_cloud_zones",
        return_value=MOCK_ZONES,
        return_value=mock_zones,
    ) as mock_function:
    ) as mock_function:
        yield mock_function
        yield mock_function




@pytest.mark.unit
@pytest.mark.parametrize(
@pytest.mark.parametrize(
    "x_correlator, region, status, expected_response_status, expected_count",
    "x_correlator, region, status, expected_response_status, expected_count",
    [
    [
+2 −5
Original line number Original line Diff line number Diff line
@@ -5,12 +5,8 @@ import mongomock
from edge_cloud_management_api.managers.db_manager import MongoManager
from edge_cloud_management_api.managers.db_manager import MongoManager




def test_equals():
    assert 1 == 1


class TestConfig:
class TestConfig:
    MONGO_URI = "mongodb://localhost:27017/test_db"
    MONGO_URI = "mongodb://test_admin:test_password@localhost:27017/test_db"




@pytest.fixture
@pytest.fixture
@@ -31,6 +27,7 @@ def mock_mongo_manager():
                yield mongo_manager
                yield mongo_manager




@pytest.mark.unit
class TestMongoManager:
class TestMongoManager:
    """
    """
    Test the MongoManager class.
    Test the MongoManager class.