コード例 #1
0
    def test_sources(self, mock_add_path, mock_robot_run):
        """Verify that sources get added to PYTHONPATH when task runs"""
        universal_config = UniversalConfig()
        project_config = BaseProjectConfig(
            universal_config,
            {
                "sources": {
                    "test1": {
                        "path": "dummy1"
                    },
                    "test2": {
                        "path": "dummy2"
                    },
                }
            },
        )
        # get_namespace returns a config. The only part of the config
        # that the code uses is the repo_root property, so we don't need
        # a full blown config.
        project_config.get_namespace = mock.Mock(
            side_effect=lambda source: mock.Mock(repo_root=project_config.
                                                 sources[source]["path"]))

        task = create_task(
            Robot,
            {
                "suites": "test",
                "sources": ["test1", "test2"]
            },
            project_config=project_config,
        )

        mock_robot_run.return_value = 0
        self.assertNotIn("dummy1", sys.path)
        self.assertNotIn("dummy2", sys.path)
        task()
        project_config.get_namespace.assert_has_calls(
            [mock.call("test1"), mock.call("test2")])
        mock_add_path.assert_has_calls(
            [mock.call("dummy1", end=True),
             mock.call("dummy2", end=True)])
        self.assertNotIn("dummy1", sys.path)
        self.assertNotIn("dummy2", sys.path)
コード例 #2
0
ファイル: test_config.py プロジェクト: mrcmac/CumulusCI
 def test_get_namespace__not_found(self):
     global_config = BaseGlobalConfig()
     project_config = BaseProjectConfig(global_config)
     with self.assertRaises(NamespaceNotFoundError):
         project_config.get_namespace("test")