from datetime import date, timedelta

from unittest import TestCase
from unittest.mock import patch

from reconcile.utils.aggregated_list import RunnerException
from reconcile import queries
from reconcile.utils.secret_reader import SecretReader
from reconcile.utils.openshift_resource import OpenshiftResource as OR
import reconcile.openshift_base as ob

from reconcile.test.fixtures import Fixtures
from reconcile.utils.oc import ApiClient, OCDeprecated
import reconcile.gabi_authorized_users as gabi_u

apply = Fixtures("gabi_authorized_users").get_anymarkup("apply.yml")
delete = Fixtures("gabi_authorized_users").get_anymarkup("delete.yml")


class RespMock:
    def __init__(self, data):
        self.data = json.dumps(data).encode()


def apply_request(
    method,
    url,
    query_params=None,
    headers=None,
    post_params=None,
    body=None,
import os
import json

from unittest import TestCase
from unittest.mock import patch

from reconcile.test.fixtures import Fixtures
from reconcile.utils.oc import OC, ApiClient, StatusCodeError

fixture = Fixtures("oc_native").get_anymarkup("api.yml")


class RespMock:
    def __init__(self, data):
        self.data = json.dumps(data).encode()


def request(
    method,
    url,
    query_params=None,
    headers=None,
    post_params=None,
    body=None,
    _preload_content=True,
    _request_timeout=None,
):
    url_list = url.split("/", 1)
    cluster = fixture.get(url_list[0])
    data = cluster.get(url_list[1], None)
    return RespMock(data)
예제 #3
0
import os
import json

from unittest import TestCase
from unittest.mock import patch

from reconcile.test.fixtures import Fixtures
from reconcile.utils.oc import OC, ApiClient, StatusCodeError

fixture = Fixtures('oc_native').get_anymarkup('api.yml')


class RespMock:
    def __init__(self, data):
        self.data = json.dumps(data).encode()


def request(method,
            url,
            query_params=None,
            headers=None,
            post_params=None,
            body=None,
            _preload_content=True,
            _request_timeout=None):
    url_list = url.split('/', 1)
    cluster = fixture.get(url_list[0])
    data = cluster.get(url_list[1], None)
    return RespMock(data)

예제 #4
0
 def setUpClass(cls):
     cls.fixture = Fixtures("namespaces")
예제 #5
0
from typing import List, cast
import pytest

import testslide
import reconcile.openshift_base as sut
import reconcile.utils.openshift_resource as resource
from reconcile.test.fixtures import Fixtures
from reconcile.utils import oc

fxt = Fixtures("namespaces")


class TestInitSpecsToFetch(testslide.TestCase):
    def setUp(self) -> None:
        super().setUp()
        self.resource_inventory = cast(
            resource.ResourceInventory,
            testslide.StrictMock(resource.ResourceInventory))

        self.oc_map = cast(oc.OC_Map, testslide.StrictMock(oc.OC_Map))
        self.mock_constructor(oc, "OC_Map").to_return_value(self.oc_map)
        self.namespaces = [fxt.get_anymarkup("valid-ns.yml")]

        self.mock_callable(self.resource_inventory,
                           "initialize_resource_type").for_call(
                               "cs1", "ns1", "Template").to_return_value(None)

        self.mock_callable(self.oc_map,
                           "get").for_call("cs1",
                                           False).to_return_value("stuff")
        self.addCleanup(testslide.mock_callable.unpatch_all_callable_mocks)
예제 #6
0
from unittest.mock import patch
from datetime import datetime, timedelta
from gitlab import Gitlab

from reconcile.utils.secret_reader import SecretReader
import reconcile.gitlab_housekeeping as gl_h

from reconcile.test.fixtures import Fixtures

DATE_FORMAT = '%Y-%m-%dT%H:%M:%S.%fZ'

fixture = Fixtures('gitlab_housekeeping').get_anymarkup('api.yml')


def get_mock(path, query_data=None, streamed=False, raw=False, **kwargs):
    path = path[1:]
    data = fixture.get('gitlab').get(path)
    return data


class TestGitLabHousekeeping:
    @staticmethod
    @patch.object(SecretReader, 'read')
    @patch.object(Gitlab, 'http_get')
    @patch.object(Gitlab, 'http_post')
    def test_clean_pipelines_happy_path(http_post, http_get, secret_read):
        http_get.side_effect = get_mock
        now = datetime.utcnow()

        ten_minutes_ago = now - timedelta(minutes=10)
        two_hours_ago = now - timedelta(minutes=120)
from datetime import date, timedelta

from unittest import TestCase
from unittest.mock import patch

from reconcile.utils.aggregated_list import RunnerException
from reconcile import queries
from reconcile.utils.secret_reader import SecretReader
from reconcile.utils.openshift_resource import OpenshiftResource as OR
import reconcile.openshift_base as ob

from reconcile.test.fixtures import Fixtures
from reconcile.utils.oc import ApiClient, OCDeprecated
import reconcile.gabi_authorized_users as gabi_u

apply = Fixtures('gabi_authorized_users').get_anymarkup('apply.yml')
delete = Fixtures('gabi_authorized_users').get_anymarkup('delete.yml')


class RespMock:
    def __init__(self, data):
        self.data = json.dumps(data).encode()


def apply_request(method, url, query_params=None, headers=None,
                  post_params=None, body=None, _preload_content=True,
                  _request_timeout=None):
    url_list = url.split('/', 1)
    cluster = apply.get(url_list[0])
    data = cluster.get(url_list[1], None)
    return RespMock(data)
from unittest.mock import patch
from datetime import datetime, timedelta
from gitlab import Gitlab

from reconcile.utils.secret_reader import SecretReader
import reconcile.gitlab_housekeeping as gl_h

from reconcile.test.fixtures import Fixtures

DATE_FORMAT = "%Y-%m-%dT%H:%M:%S.%fZ"

fixture = Fixtures("gitlab_housekeeping").get_anymarkup("api.yml")


def get_mock(path, query_data=None, streamed=False, raw=False, **kwargs):
    path = path[1:]
    data = fixture.get("gitlab").get(path)
    return data


class TestGitLabHousekeeping:
    @staticmethod
    @patch.object(SecretReader, "read")
    @patch.object(Gitlab, "http_get")
    @patch.object(Gitlab, "http_post")
    def test_clean_pipelines_happy_path(http_post, http_get, secret_read):
        http_get.side_effect = get_mock
        now = datetime.utcnow()

        ten_minutes_ago = now - timedelta(minutes=10)
        two_hours_ago = now - timedelta(minutes=120)