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

Blogs

Check out the latest blogs from LambdaTest on this topic:

Why Agile Teams Have to Understand How to Analyze and Make adjustments

How do we acquire knowledge? This is one of the seemingly basic but critical questions you and your team members must ask and consider. We are experts; therefore, we understand why we study and what we should learn. However, many of us do not give enough thought to how we learn.

How to increase and maintain team motivation

The best agile teams are built from people who work together as one unit, where each team member has both the technical and the personal skills to allow the team to become self-organized, cross-functional, and self-motivated. These are all big words that I hear in almost every agile project. Still, the criteria to make a fantastic agile team are practically impossible to achieve without one major factor: motivation towards a common goal.

Dec’22 Updates: The All-New LT Browser 2.0, XCUI App Automation with HyperExecute, And More!

Greetings folks! With the new year finally upon us, we’re excited to announce a collection of brand-new product updates. At LambdaTest, we strive to provide you with a comprehensive test orchestration and execution platform to ensure the ultimate web and mobile experience.

How To Get Started With Cypress Debugging

One of the most important tasks of a software developer is not just writing code fast; it is the ability to find what causes errors and bugs whenever you encounter one and the ability to solve them quickly.

How to Recognize and Hire Top QA / DevOps Engineers

With the rising demand for new services and technologies in the IT, manufacturing, healthcare, and financial sector, QA/ DevOps engineering has become the most important part of software companies. Below is a list of some characteristics to look for when interviewing a potential candidate.

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