Пример #1
0
 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')
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
 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
Пример #5
0
 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
Пример #6
0
 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
Пример #7
0
 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
Пример #8
0
 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']
Пример #9
0
 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
Пример #10
0
 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)
Пример #11
0
 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]
Пример #12
0
 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')
Пример #13
0
 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'
Пример #14
0
 def test_parse_name(self):
     parser = apb_loader.APBMetaParser(self.data, self.log)
     name = parser.parse_name()
     assert name == 'mssql_apb'
Пример #15
0
 def test_parse_tags(self):
     parser = apb_loader.APBMetaParser(self.data, self.log)
     tags = parser.parse_tags()
     assert tags == ['database', 'mssql']