示例#1
0
    def test_prepare_does_not_build_output_dir_if_exists(self):
        cfg = Config(self.__build_args(directory="barrels"))

        with patch("os.path.exists") as e, patch("os.mkdir") as m:
            e.return_value = True
            cfg.prepare_project_dir()
            m.assert_not_called()
示例#2
0
    def test_open_file_passes_file_to_callback(self):
        cfg = Config(self.__build_args())

        with patch("builtins.open", mock_open(read_data="A Test file")):
            cfg.open_file(
                "mockfile", "r", lambda f: self.assertEqual("A Test file", f.readline())
            )
示例#3
0
    def test_open_file_calls_callback_with_expected_stream(self):
        cfg = Config(self.__build_args())
        cb = Mock()

        with patch("builtins.open", mock_open(read_data="A Test file")):
            cfg.open_file("mockfile", "r", cb)

        cb.assert_called_once()
示例#4
0
    def test_open_file_can_write(self):
        cfg = Config(self.__build_args())
        m = mock_open()

        with patch("builtins.open", m):
            cfg.open_file("mockfile", "w", lambda f: f.write("some data"))

        m.assert_called_once_with("mockfile", "w")
        handle = m()
        handle.write.assert_called_once_with("some data")
示例#5
0
    def test_package_from_cfg_is_valid(self):
        self.__mock_path.return_value = True
        m = mock_open(read_data=self.__build_cfg(package="pack.txt"))
        with patch("builtins.open", m):
            cfg = Config(self.__build_args())

        self.assertEqual("pack.txt", cfg.package)
示例#6
0
    def test_reads_default_config_file_if_exists(self):
        self.__mock_path.return_value = True
        m = mock_open(read_data="")
        with patch("builtins.open", m):
            Config(self.__build_args())

        m.assert_called_once_with("mbgetcfg.ini", "r")
示例#7
0
    def test_manifest_from_cfg_is_valid(self):
        self.__mock_path.return_value = True
        m = mock_open(read_data=self.__build_cfg(manifest="man.xml"))
        with patch("builtins.open", m):
            cfg = Config(self.__build_args())

        self.assertEqual("man.xml", cfg.manifest)
示例#8
0
    def test_jungle_from_cfg_is_valid(self):
        self.__mock_path.return_value = True
        m = mock_open(read_data=self.__build_cfg(jungle="brl.jungle"))
        with patch("builtins.open", m):
            cfg = Config(self.__build_args())

        self.assertEqual("brl.jungle", cfg.jungle)
示例#9
0
    def test_reads_config_file_from_args(self):
        self.__mock_path.return_value = True
        m = mock_open(read_data="")
        with patch("builtins.open", m):
            Config(self.__build_args(config="test.ini"))

        m.assert_called_once_with("test.ini", "r")
示例#10
0
    def test_barrel_dir_from_cfg_is_valid(self):
        self.__mock_path.return_value = True
        m = mock_open(read_data=self.__build_cfg(directory="barrels"))
        with patch("builtins.open", m):
            cfg = Config(self.__build_args())

        self.assertEqual("barrels", cfg.barrel_dir)
示例#11
0
 def test_token_from_env_if_arg_is_none(self):
     with patch.dict("os.environ", {"MBGET_GH_TOKEN": "125aeb"}):
         cfg = Config(self.__build_args(token=None))
         self.assertEqual("125aeb", cfg.token)
示例#12
0
 def test_token_prioritizes_args_over_env(self):
     with patch.dict("os.environ", {"MBGET_GH_TOKEN": "125aeb"}):
         cfg = Config(self.__build_args(token="12345abc"))
         self.assertEqual("12345abc", cfg.token)
示例#13
0
 def test_default_barrel_dir_is_valid(self):
     cfg = Config(self.__build_args())
     self.assertEqual(".mbpkg", cfg.barrel_dir)
示例#14
0
 def test_manifest_is_valid(self):
     cfg = Config(self.__build_args(manifest="mfst.xml"))
     self.assertEqual("mfst.xml", cfg.manifest)
示例#15
0
 def test_token_is_valid(self):
     cfg = Config(self.__build_args(token="12345abc"))
     self.assertEqual("12345abc", cfg.token)
示例#16
0
 def test_can_init_config(self):
     Config(self.__build_args())
示例#17
0
 def test_package_is_valid(self):
     cfg = Config(self.__build_args(package="pck.txt"))
     self.assertEqual("pck.txt", cfg.package)
示例#18
0
 def test_default_package_is_valid(self):
     cfg = Config(self.__build_args())
     self.assertEqual("packages.txt", cfg.package)
示例#19
0
 def test_barrel_dir_is_valid(self):
     cfg = Config(self.__build_args(directory="barrels"))
     self.assertEqual("barrels", cfg.barrel_dir)
示例#20
0
 def test_default_jungle_is_valid(self):
     cfg = Config(self.__build_args())
     self.assertEqual("barrels.jungle", cfg.jungle)
示例#21
0
 def test_jungle_is_valid(self):
     cfg = Config(self.__build_args(jungle="brrls.jungle"))
     self.assertEqual("brrls.jungle", cfg.jungle)
示例#22
0
 def __init__(self, config: Config):
     self.package_map: Dict[str, str] = {}
     config.open_file(config.package, "r", self.__parse_packages)
示例#23
0
 def test_token_is_none(self):
     cfg = Config(self.__build_args(token=None))
     self.assertIsNone(cfg.token)