Exemplo n.º 1
0
 def test_004_load_setting(self):
     params = EasyDict({
         'project': 'wandersocket.infra',
         'environment': 'production',
         'burdock_base': '/home/hiraku',
         'via': 'cli'
     })
     config = Config(params)
     config.load_setting(config.get_project_repo(), 'roles', '.json5')
     self.assertTrue('rundeck' in config._loaded.roles)
     config.load_setting(config.get_project_repo(), 'test_en_only', '.json5')
     self.assertEqual(2, len(config._loaded.test_en_only.comment_in_array))
     config.load_setting(config.get_project_repo(), 'test', '.json5')
     self.assertEqual(2, len(config._loaded.test.comment_in_array))
Exemplo n.º 2
0
    def test_002_get_burdock_base(self):
        params = EasyDict({
            'project': 'test_project',
            'environment': 'testing',
            'via': 'cli'
        })
        config = Config(params)

        if os.name == 'nt':
            base = os.environ.get('profile')
        else:
            base = os.environ.get('HOME')

        if BURDOCK_BASE in os.environ:
            base = os.environ.get(BURDOCK_BASE)

        self.assertEqual(config.get_burdock_base(), base)
Exemplo n.º 3
0
    def test_998_alternative_base_dir(self):
        """It confirms the alternative base dir by specifying os environment variable.

        This test should be done at last because the mock object replaces the method of target method.
        os.environ[BURDOCK_BASE] = '/path/of/alternative/base'
        This way will fail because the environment variable will be affected after initialization of user.
        :return:
        """
        burdock_base = '/path/of/alternative/base'
        params = EasyDict({
            'project': 'test_project',
            'environment': 'testing',
            'via': 'cli'
        })
        Config.get_burdock_base = MagicMock(return_value=burdock_base)
        config = Config(params)
        self.assertEqual(config.get_base_dir(), burdock_base)
        self.assertEqual(config.get_repo_dir(), burdock_base + os.sep + DEFAULT_REPO_DIR)
Exemplo n.º 4
0
    def test_003_get_burdock_repo(self):
        params = EasyDict({
            'project': 'test_project',
            'environment': 'testing',
            'via': 'cli'
        })
        config = Config(params)

        if os.name == 'nt':
            base = os.environ.get('profile')
        else:
            base = os.environ.get('HOME')

        if BURDOCK_BASE in os.environ:
            base = os.environ.get(BURDOCK_BASE)

        if BURDOCK_REPO in os.environ:
            repo = os.environ.get(BURDOCK_REPO)
        else:
            repo = base + os.sep + DEFAULT_REPO_DIR

        self.assertEqual(config.get_burdock_repo(), repo)
Exemplo n.º 5
0
    def test_005_dig(self):
        params = EasyDict({
            'project': 'wandersocket.infra',
            'environment': 'production',
            'via': 'cli'
        })
        config = Config(params)
        ed0 = EasyDict({'abc': 'yes!'})
        self.assertEqual('yes!', config.dig(ed0, 'abc'))

        ed1 = EasyDict({'abc': {'def': [None, {'xyz': 'yes!'}]}})
        self.assertEqual('yes!', config.dig(ed1, 'abc.def[1].xyz'))
        self.assertIsNone(config.dig(ed1, 'abc.def[0]'))

        ed2 = EasyDict({'abc': ['def', [None, {'xyz': 'yes!'}]]})
        self.assertEqual('def', config.dig(ed2, 'abc[0]'))
        self.assertEqual('yes!', config.dig(ed2, 'abc[1][1].xyz'))
        self.assertIsNone(config.dig(ed2, 'abc[1][0]'))