Example #1
0
 def examinee(self, name='Dont care'):
     variant = JobVariant(
         name='Dont care', raw_dict={}, resource_registry={}
     )
     # set steps dict, usually done by factory.
     variant._steps_dict = {}
     return variant
Example #2
0
    def setUp(self):
        self.tmp_dir = tempfile.TemporaryDirectory()
        self.meta_dir = os.path.join(self.tmp_dir.name, 'meta')
        os.mkdir(self.meta_dir)
        test_utils.populate_meta_dir(self.meta_dir)
        self.on_error_dir = os.path.join(self.tmp_dir.name, 'on_error_dir')
        os.mkdir(self.on_error_dir)

        self.job_step = PipelineStep(
            name='step1',
            is_synthetic=False,
            notification_policy=StepNotificationPolicy.NOTIFY_PULL_REQUESTS,
            script_type=ScriptType.BOURNE_SHELL,
            raw_dict={},
        )
        self.job_step._notifications_cfg = NotificationCfgSet('default', {})
        resource_registry = ResourceRegistry()
        meta_resource_identifier = ResourceIdentifier(type_name='meta',
                                                      base_name='a_job')
        meta_resource = Resource(resource_identifier=meta_resource_identifier,
                                 raw_dict={})
        resource_registry.add_resource(meta_resource)
        self.job_variant = JobVariant(name='a_job',
                                      raw_dict={},
                                      resource_registry=resource_registry)

        # Set a main repository manually
        test_repo_logical_name = 'test-repository'
        self.job_variant._repos_dict = {}
        self.job_variant._repos_dict[
            test_repo_logical_name] = RepositoryConfig(
                raw_dict={
                    'branch': 'master',
                    'hostname': 'github.foo.bar',
                    'path': 'test/repo'
                },
                logical_name=test_repo_logical_name,
                qualifier=None,
                is_main_repo=True)
        self.job_variant._main_repository_name = test_repo_logical_name

        self.job_variant._traits_dict = {}
        self.cfg_set = MagicMock()
        self.github_cfg = MagicMock()
        self.github_cfg.name = MagicMock(return_value='github_cfg')
        self.email_cfg = MagicMock()
        self.email_cfg.name = MagicMock(return_value='email_cfg')
        self.cfg_set.github = MagicMock(return_value=self.github_cfg)
        self.cfg_set.email = MagicMock(return_value=self.email_cfg)
        ctx_repo_mock = MagicMock(return_value='repo_url')
        ctx_repo_mock.base_url = MagicMock(return_value='repo_url')
        self.cfg_set.ctx_repository = MagicMock(return_value=ctx_repo_mock)

        self.render_step = step_def('notification')

        self.old_cwd = os.getcwd()
        os.chdir(self.tmp_dir.name)
 def setUp(self):
     self.pipeline_args = JobVariant(
         name='a_job',
         raw_dict={},
         resource_registry=object(),
     )
     self.pipeline_args._steps_dict = {}
     self.repo_mock = MagicMock()
     self.repo_mock.repo_hostname = MagicMock(return_value='github.com')
     self.repo_mock.repo_path = MagicMock(return_value='org/repo')
     self.pipeline_args.main_repository = MagicMock(
         return_value=self.repo_mock)
Example #4
0
    def _create_variant(self, raw_dict, variant_name,
                        resource_registry) -> JobVariant:
        variant = JobVariant(name=variant_name,
                             raw_dict=raw_dict,
                             resource_registry=resource_registry)

        # build steps
        variant._steps_dict = self._create_build_steps(raw_dict)

        # traits
        variant._traits_dict = self._create_traits(raw_dict, variant_name)

        self._create_repos(variant, raw_dict)
        self._inject_publish_repos(variant)

        return variant