def test_version_format(self): self.data['version'] = 'foo' parser = apb_loader.APBMetaParser(self.data, self.log) parser._check_version() self.log.warning.assert_called_once_with( 'Version "foo" in metadata does not match the expected version ' 'format')
def test_async_bad_value(self): self.data['async'] = 'foo' parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Expecting "async" in metadata to be one of' assert msg in excinfo.value.message
def test_missing_version(self): del self.data['version'] parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Missing "version" field in metadata.' assert msg in excinfo.value.message
def test_invalid_plan_name(self): del self.data['plans'][0]['name'] parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Expecting "name" to be defined for each plan' assert msg in excinfo.value.message
def test_plan_parameters_item_type(self): self.data['plans'][0]['parameters'] = ['foo'] parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Expecting "parameters[0]" in "plans[0]" of' assert msg in excinfo.value.message
def test_invalid_bindable(self): self.data['bindable'] = 'foo' parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Expecting "bindable" in metadata to be a boolean' assert msg in excinfo.value.message
def test_invalid_plans(self): self.data['plans'] = 'foo' parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Expecting "plans" in metadata to be a list' assert msg in excinfo.value.message
def test_invalid_tags(self): self.data['tags'] = [ 'database', 'MSSQL', 'mssql-', 'mssql_', 'postgres1' ] parser = apb_loader.APBMetaParser(self.data, self.log) tags = parser.parse_tags() assert tags == ['database', 'postgres1']
def test_invalid_metadata(self): self.data['metadata'] = '' parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Expecting "metadata" in metadata to be a dictionary' assert msg in excinfo.value.message
def test_missing_async(self): del self.data['async'] parser = apb_loader.APBMetaParser(self.data, self.log) with pytest.raises(exc.APBContentLoadError) as excinfo: parser.check_data() msg = 'Missing "async" field in metadata.' assert msg in str(excinfo.value)
def test_param_keys(self): parser = apb_loader.APBMetaParser(self.data, self.log) parser.check_data() metadata = parser.parse_metadata() assert 'displayGroup' in metadata['plans'][0]['parameters'][0] assert 'displayType' in metadata['plans'][0]['parameters'][1] assert 'displayGroup' in metadata['plans'][0]['parameters'][1] assert 'minLength' in metadata['plans'][0]['parameters'][1] assert 'maxLength' in metadata['plans'][0]['parameters'][1]
def test_invalid_version(self): self.data['version'] = 1.1 parser = apb_loader.APBMetaParser(self.data, self.log) parser._check_version() self.log.warning.assert_called_once_with( 'Version value in metadata is not a string')
def test_parse_description(self): parser = apb_loader.APBMetaParser(self.data, self.log) descr = parser.parse_description() assert descr == 'Deployment of Microsoft SQL Server on Linux'
def test_parse_name(self): parser = apb_loader.APBMetaParser(self.data, self.log) name = parser.parse_name() assert name == 'mssql_apb'
def test_parse_tags(self): parser = apb_loader.APBMetaParser(self.data, self.log) tags = parser.parse_tags() assert tags == ['database', 'mssql']