예제 #1
0
    def test_get_config_meta_data_no_file(self):
        """Test get_config_meta_data function when there is no meta file."""

        expected_meta_data = {
                'path': '/etc/config.conf',
                'owner': 'root',
                'group': 'root',
                'mode': '0644'}

        aerostat_server.CONFIG_REPO_PATH = fake_global = '/path/to/repo/'
        fake_repo_path = 'example_service/config.conf'
        fake_meta_path = fake_global + fake_repo_path + '.meta'


        self.mox.StubOutWithMock(os.path, 'exists')
        os.path.exists(fake_global + fake_repo_path).AndReturn(True)
        # Now suppose .meta file doesn't exist.
        os.path.exists(fake_meta_path).AndReturn(False)
        # Now suppose there's no config at all.
        os.path.exists(fake_global + fake_repo_path).AndReturn(None)

        self.mox.ReplayAll()

        test_meta_data = aerostat_server.get_config_meta_data(fake_repo_path)
        self.assertEqual(test_meta_data, expected_meta_data)
        self.assertEqual({},
                aerostat_server.get_config_meta_data(fake_repo_path))
예제 #2
0
    def test_parse_config_data(self):
        """Test parse_config_data function."""

        aerostat_server.CONFIG_REPO_PATH = fake_global = '/path/to/repo/'
        fake_config = 'test/config.conf'
        fake_file_contents = 'config data!'
        fake_meta_data = {
                'path': '/path/to/config.conf',
                'owner': 'somebody',
                'group': 'somepeople',
                'mode': '0664'}
        self.mox.StubOutWithMock(aerostat_server, 'get_config_meta_data')
        aerostat_server.get_config_meta_data(fake_config).AndReturn(fake_meta_data)
        fake_file = StringIO.StringIO(fake_file_contents)

        self.mox.StubOutWithMock(sys.modules['__builtin__'], 'open')
        sys.modules['__builtin__'].open(fake_global + fake_config).AndReturn(
                fake_file)

        expected_output = (
                'test', 'config.conf', fake_file_contents, fake_meta_data)

        self.mox.ReplayAll()

        self.assertEqual(aerostat_server.parse_config_data(fake_config),
               expected_output)
예제 #3
0
    def test_get_config_meta_data(self):
        """Test get_config_meta_data function."""

        expected_meta_data = {
                'path': '/etc/fake_service.config',
                'owner': 'fake_user',
                'group': 'fake_group',
                'mode': '0777'}

        aerostat_server.CONFIG_REPO_PATH = fake_global = '/path/to/repo/'
        fake_repo_path = 'example_service/config.conf'
        fake_meta_path = fake_global + fake_repo_path + '.meta'


        self.mox.StubOutWithMock(os.path, 'exists')
        os.path.exists(fake_global + fake_repo_path).AndReturn(True)
        os.path.exists(fake_meta_path).AndReturn(True)

        fake_meta_file = StringIO.StringIO(
                ("path: /etc/fake_service.config\nowner: fake_user\n"
                 "group: fake_group\nmode: '0777'\n"))

        self.mox.StubOutWithMock(sys.modules['__builtin__'], 'open')
        sys.modules['__builtin__'].open(fake_meta_path).AndReturn(
                fake_meta_file)

        self.mox.ReplayAll()

        test_meta_data = aerostat_server.get_config_meta_data(fake_repo_path)
        self.assertEqual(test_meta_data, expected_meta_data)