Пример #1
0
    def _artifact_handler(key, value):
        """Replaces artifact name with actual artifact json"""
        if key == "artifact":
            artifact_filename = "{}.json".format(value)
            if artifact_filename not in artifact_list:
                return value

            return read_json_file(artifact_folder, artifact_filename)

        return value
Пример #2
0
def setup_mock(response_key, responses, status=200):
    """Sets up mock response for Delivery API call"""
    filename = MOCK_RESPONSES.get(response_key)
    if not filename:
        return
    data = read_json_file(CURRENT_DIR, filename)

    responses.add("POST",
                  "/rest/v1/delivery",
                  body=json.dumps(data),
                  status=status,
                  content_type="application/json")
Пример #3
0
def get_test_suites(test_suite_name, exclude_suites):
    """Retrieves and hydrates all artifacts.  Filters by test suite if test_suite_name provided"""
    artifacts = list(get_test_artifacts())
    test_models = get_test_models()

    def _matches_test_suite_name(filename):
        """Checks if filename matches test_suite_name"""
        return True if not test_suite_name else filename == "{}.json".format(
            test_suite_name)

    hydrated_artifacts = []
    for test_model_file_name in test_models:
        if not _matches_test_suite_name(
                test_model_file_name
        ) or test_model_file_name in exclude_suites:
            continue
        suite = read_json_file(TEST_MODELS_FOLDER, test_model_file_name)
        hydrated_artifacts.append(
            _hydrate_artifacts(TEST_ARTIFACTS_FOLDER, artifacts, suite))
    return hydrated_artifacts
Пример #4
0
import os
import unittest
from urllib3 import HTTPResponse
from delivery_api_client import DeliveryApi
from target_decisioning_engine.constants import OK
from target_decisioning_engine.constants import PARTIAL_CONTENT
from target_python_sdk import TargetClient
from target_tools.enums import DecisioningMethod
from target_tools.messages import DECISIONING_ENGINE_NOT_READY
from target_tools.tests.delivery_request_setup import create_delivery_request
from target_tools.tests.delivery_response_setup import create_delivery_response
from target_tools.tests.helpers import read_json_file

ARTIFACT_FEATURE_FLAG_FILE = "../../target_decisioning_engine/tests/schema/artifacts/TEST_ARTIFACT_FEATURE_FLAG.json"
CURRENT_DIR = os.path.dirname(__file__)
FEATURE_FLAG_ARTIFACT = read_json_file(CURRENT_DIR, ARTIFACT_FEATURE_FLAG_FILE)

CONFIG = {
    "client": "someClientId",
    "organization_id": "someOrgId",
    "target_location_hint": "28",
    "polling_interval": 0,
    "maximum_wait_ready": 500,
    "telemetry_enabled": False
}

context = {
    "channel":
    "web",
    "address": {
        "url": "http://adobe.com"
Пример #5
0
import json
import os
import unittest
from copy import deepcopy
from urllib3 import HTTPResponse
from delivery_api_client import Geo
from target_decisioning_engine.geo_provider import create_or_update_geo_object
from target_decisioning_engine.geo_provider import GeoProvider
from target_decisioning_engine.types.decisioning_config import DecisioningConfig
from target_decisioning_engine.constants import HTTP_HEADER_FORWARDED_FOR
from target_decisioning_engine.constants import BAD_REQUEST
from target_decisioning_engine.constants import OK
from target_tools.tests.helpers import read_json_file

CURRENT_DIR = os.path.dirname(__file__)
ARTIFACT_BLANK = read_json_file(CURRENT_DIR,
                                "schema/artifacts/TEST_ARTIFACT_BLANK.json")


class TestGeoProvider(unittest.TestCase):
    """TestGeoProvider"""
    def setUp(self):
        self.headers = {
            "x-geo-latitude": 37.773972,
            "x-geo-longitude": -122.431297,
            "x-geo-country-code": "US",
            "x-geo-region-code": "CA",
            "x-geo-city": "SANFRANCISCO"
        }
        self.config = DecisioningConfig("myClient", "myOrgId")
        geo_values = {
            "x-geo-longitude": -122.4,
Пример #6
0
from delivery_api_client import DeliveryApi
from target_python_sdk import TargetClient
from target_tools.tests.helpers import expect_to_match_object
from target_tools.messages import DECISIONING_ENGINE_NOT_READY
from target_tools.tests.delivery_response_setup import create_delivery_response
from target_tools.utils import to_dict
from target_tools.enums import DecisioningMethod
from target_tools.tests.delivery_request_setup import create_delivery_request
from target_tools.tests.helpers import read_json_file
from target_decisioning_engine.constants import OK


ARTIFACT_AB_SIMPLE_FILE = "../../target_decisioning_engine/tests/schema/artifacts/TEST_ARTIFACT_AB_SIMPLE.json"
ARTIFACT_BLANK_FILE = "../../target_decisioning_engine/tests/schema/artifacts/TEST_ARTIFACT_BLANK.json"
CURRENT_DIR = os.path.dirname(__file__)
ARTIFACT_AB_SIMPLE = read_json_file(CURRENT_DIR, ARTIFACT_AB_SIMPLE_FILE)
ARTIFACT_BLANK = read_json_file(CURRENT_DIR, ARTIFACT_BLANK_FILE)

TARGET_REQUEST = create_delivery_request({
    "prefetch": {
        "mboxes": [{
            "name": "mbox-something",
            "index": 1
        }]
    }
})

REQUEST_BASE = {
    "id": {
        "tntId": "338e3c1e51f7416a8e1ccba4f81acea0.28_0",
        "marketingCloudVisitorId": "07327024324407615852294135870030620007"
Пример #7
0
import os
from copy import deepcopy

from urllib3 import PoolManager, HTTPResponse

from target_decisioning_engine import TargetDecisioningEngine
from target_decisioning_engine import SUPPORTED_ARTIFACT_MAJOR_VERSION
from target_decisioning_engine import MESSAGES
from target_decisioning_engine.types.decisioning_config import DecisioningConfig
from target_decisioning_engine.events import ARTIFACT_DOWNLOAD_FAILED
from target_decisioning_engine.types.target_delivery_request import TargetDeliveryRequest
from target_tools.tests.delivery_request_setup import create_delivery_request
from target_tools.tests.helpers import read_json_file

CURRENT_DIR = os.path.dirname(__file__)
ARTIFACT_BLANK = read_json_file(CURRENT_DIR,
                                "schema/artifacts/TEST_ARTIFACT_BLANK.json")
ARTIFACT_UNSUPPORTED_VERSION = read_json_file(
    CURRENT_DIR, "schema/artifacts/TEST_ARTIFACT_UNSUPPORTED.json")

TARGET_REQUEST = create_delivery_request({
    "context": {
        "channel":
        "web",
        "address": {
            "url": "http://local-target-test:8080/"
        },
        "userAgent":
        "Mozilla/5.0 (Macintosh Intel Mac OS X 10.15 rv:73.0) Gecko/20100101 Firefox/73.0"
    },
    "prefetch": {
        "mboxes": [{