How to use __fixture method in Molotov

Best Python code snippet using molotov_python

__init__.py

Source:__init__.py Github

copy

Full Screen

1"""2┌─────────────────┐3│ Main interfaces │4└─────────────────┘5 Florian Dupeyron6 July 20227"""8from dataclasses import dataclass, field9from typing import Optional, Dict10# ┌────────────────────────────────────────┐11# │ BaseValue base class │12# └────────────────────────────────────────┘13@dataclass(kw_only=True)14class BaseValue:15 class_id: str = ""16 def __post_init__(self):17 pass18 # ─────────── Fixture property ─────────── #19 # This property can be reimplemented by subclasses20 # For specific behaviour, for example when a interface21 # Groups specific interfaces.22 @property23 def fixture(self):24 return None25 26 @fixture.setter27 def fixture(self, fixt):28 pass29# ┌────────────────────────────────────────┐30# │ AtomicValue interface class │31# └────────────────────────────────────────┘32@dataclass(kw_only=True)33class AtomicValue(BaseValue):34 def __post_init__(self):35 super().__post_init__()36 self.__fixture = None37 @property38 def fixture(self):39 return self.__fixture40 41 @fixture.setter42 def fixture(self, fixt):43 self.__fixture = fixt44# ┌────────────────────────────────────────┐45# │ GroupValue interface class │46# └────────────────────────────────────────┘47@dataclass(kw_only=True)48class GroupValue(BaseValue):49 def __post_init__(self):50 super().__post_init__()51 self.__fixture = None52 @property53 def fixture(self):54 return self.__fixture55 56 57 @fixture.setter58 def fixture(self, fixt):59 self.__fixture = fixt60 # Attach to children61 for ch_name, ch in self.__dict__.items():62 if isinstance(ch, BaseValue):63 ch.fixture = self.__fixture64# ┌────────────────────────────────────────┐65# │ RangeValue interface class │66# └────────────────────────────────────────┘67@dataclass(kw_only=True)68class RangeValue(AtomicValue):69 min: float70 max: float71 72 unit: Optional[str] = ""73 class_id: str = "RangeValue"74 # ─────────────── Post init ────────────── #75 76 def __post_init__(self):77 super().__post_init__()78 self._value = 079 # ────────────── Set and get ───────────── #80 81 def set(self, v):82 if v < self.min: raise ValueError(f"{v} < {self.min}")83 elif v > self.max: raise ValueError(f"{v} > {self.max}")84 else:85 self._value = v86 self._on_set(v)87 def get(self):88 return self._value89 # ───────────────── Hooks ──────────────── #90 91 def _on_set(self, v):92 pass93# ┌────────────────────────────────────────┐94# │ DiscreteValue interface class │95# └────────────────────────────────────────┘96@dataclass(kw_only=True)97class DiscreteValue_Choice:98 label: str99 value: any100 image: Optional[str] = ""101@dataclass(kw_only=True)102class DiscreteValue(AtomicValue):103 choices: Dict[str, DiscreteValue_Choice]104 class_id: str = "DiscreteValue"105 # ─────────────── Post init ────────────── #106 107 def __post_init__(self):108 super().__post_init__()109 self._value = None110 # ─────────────── Set / Get ────────────── #111 112 def set(self, v):113 if not v in self.choices: raise ValueError(f"Invalid discrete value {v}")114 else:115 self._value = v116 self._on_set(v)117 def get(self):118 return self._value119 # ──────── Hooks to be implemented ─────── #120 def _on_set(self, v):121 pass122# ┌────────────────────────────────────────┐123# │ ColorValue interface │124# └────────────────────────────────────────┘125@dataclass(kw_only=True)126class ColorValue(GroupValue):127 r: RangeValue128 g: RangeValue129 b: RangeValue130 class_id: str = "ColorValue"131# ┌────────────────────────────────────────┐132# │ RotationValue interface │133# └────────────────────────────────────────┘134@dataclass(kw_only=True)135class RotationValue(GroupValue):136 pan: RangeValue137 tilt: RangeValue138 ...

Full Screen

Full Screen

test_github_event_handler.py

Source:test_github_event_handler.py Github

copy

Full Screen

...50 'actions': ['unlabeled']51 },52 ]53 }54 def __fixture(self, example_file_name):55 return open(os.path.dirname(os.path.realpath(__file__)) + '/../examples/' + example_file_name)56 def test_pull_request(self):57 jenkins_mock = mock.MagicMock()58 handler = GithubEventHandler(Config(self.config), jenkins_mock)59 with self.__fixture('pull_request.json') as fp:60 payload = json.load(fp)61 handler.process_github_event('pull_request', payload)62 expected_params = {63 'repo': 'Wikia/sparrow',64 'branch': 'test-branch',65 'commit': 'f96bc53e42b40dbbd0ceb19b68a3365e7a66f223',66 'pull_num': 31,67 'labels': []68 }69 jenkins_mock.build_job.assert_called_once_with('job5', expected_params)70 def test_pull_request_review_comment(self):71 jenkins_mock = mock.MagicMock()72 handler = GithubEventHandler(Config(self.config), jenkins_mock)73 with self.__fixture('pull_request_review_comment.json') as fp:74 payload = json.load(fp)75 handler.process_github_event('pull_request_review_comment', payload)76 expected_params = {77 'repo': 'Wikia/sparrow',78 'branch': 'test-branch',79 'commit': 'f96bc53e42b40dbbd0ceb19b68a3365e7a66f223',80 'pull_num': 31,81 }82 jenkins_mock.build_job.assert_called_once_with('job5', expected_params)83 def test_push(self):84 jenkins_mock = mock.MagicMock()85 handler = GithubEventHandler(Config(self.config), jenkins_mock)86 with self.__fixture('push.json') as fp:87 payload = json.load(fp)88 handler.process_github_event('push', payload)89 expected_params = {90 'repo': 'Wikia/app',91 'author': 'Kyle Daigle',92 'branch': 'wikia-logger-backtrace-for-errors',93 'commit': '4d2ab4e76d0d405d17d1a0f2b8a6071394e3ab40',94 'email': 'kyle.daigle@github.com'95 }96 jenkins_mock.build_job.assert_called_once_with('job3', expected_params)97 def test_extra_job_params(self):98 jenkins_mock = mock.MagicMock()99 handler = GithubEventHandler(Config(self.config), jenkins_mock)100 with self.__fixture('pull_request_other_repo.json') as fp:101 payload = json.load(fp)102 handler.process_github_event('pull_request', payload)103 expected_params = {104 'repo': 'Wikia/other',105 'branch': 'test-branch',106 'commit': 'f96bc53e42b40dbbd0ceb19b68a3365e7a66f223',107 'pull_num': 31,108 'silent': 'true',109 'labels': []110 }111 jenkins_mock.build_job.assert_called_once_with('job4', expected_params)112 def test_pull_request_with_action(self):113 jenkins_mock = mock.MagicMock()114 handler = GithubEventHandler(Config(self.config), jenkins_mock)115 with self.__fixture('pull_request_with_action.json') as fp:116 payload = json.load(fp)117 handler.process_github_event('pull_request', payload)118 expected_params = {119 'repo': 'Wikia/ad-engine',120 'branch': 'ADEN-6924',121 'commit': 'e8f4b7c5a2c40fe14513ce27cc013cd7f779f9cc',122 'pull_num': 122,123 'labels': 'Any Label'124 }125 jenkins_mock.build_job.assert_called_once_with('aden-action-job', expected_params)126 def test_pull_request_merged_labels(self):127 jenkins_mock = mock.MagicMock()128 handler = GithubEventHandler(Config(self.config), jenkins_mock)129 with self.__fixture('pull_request_merged.json') as fp:130 payload = json.load(fp)131 handler.process_github_event('pull_request', payload)132 expected_params = {133 'repo': 'Wikia/ad-engine',134 'branch': 'ADEN-6924',135 'commit': 'e8f4b7c5a2c40fe14513ce27cc013cd7f779f9cc',136 'pull_num': 120,137 'labels': 'Major change,Foo'138 }...

Full Screen

Full Screen

test_PrometheusCounters.py

Source:test_PrometheusCounters.py Github

copy

Full Screen

1# -*- coding: utf-8 -*-2import os3from pip_services3_commons.config import ConfigParams4from pip_services3_prometheus.count.PrometheusCounters import PrometheusCounters5from test.fixtures.CountersFixture import CountersFixture6class TestPrometheusCounters:7 __counters = None8 __fixture = None9 def setup_method(self, method=None):10 host = os.environ.get('PUSHGATEWAY_SERVICE_HOST') or 'localhost'11 port = os.environ.get('PUSHGATEWAY_SERVICE_PORT') or 909112 self.__counters = PrometheusCounters()13 self.__fixture = CountersFixture(self.__counters)14 config = ConfigParams.from_tuples(15 'source', 'test',16 'connection.host', host,17 'connection.port', port18 )19 self.__counters.configure(config)20 self.__counters.open(None)21 def teardown_method(self, method=None):22 self.__counters.close(None)23 def test_simple_counters(self):24 self.__fixture.test_simple_counters()25 def test_measure_elapsed_time(self):...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Molotov automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful