def test_wiki_with_fake_origin(self): fixture = fixture_setup.FakePartsWikiOrigin() self.useFixture(fixture) origin_url = fixture.fake_parts_wiki_origin_fixture.url _create_example_output(""" --- maintainer: John Doe <*****@*****.**> origin: {origin_url} description: example parts: [somepart] """.format(origin_url=origin_url)) origin_dir = os.path.join(parser._get_base_dir(), _encode_origin(origin_url)) os.makedirs(origin_dir, exist_ok=True) # Create a fake snapcraft.yaml for _get_origin_data() to parse with open(os.path.join(origin_dir, 'snapcraft.yaml'), 'w') as fp: text = requests.get(origin_url).text fp.write(text) main(['--debug', '--index', TEST_OUTPUT_PATH]) self.assertThat(_get_part_list_count(), Equals(1)) part = _get_part('somepart') self.assertTrue(part)
def test_wiki_with_fake_origin_with_bad_snapcraft_yaml(self): fixture = fixture_setup.FakePartsWikiOrigin() self.useFixture(fixture) origin_url = fixture.fake_parts_wiki_origin_fixture.url fake_logger = fixtures.FakeLogger(level=logging.ERROR) self.useFixture(fake_logger) _create_example_output(""" --- maintainer: John Doe <*****@*****.**> origin: {origin_url} description: example parts: [somepart] """.format(origin_url=origin_url)) origin_dir = os.path.join(parser._get_base_dir(), _encode_origin(origin_url)) os.makedirs(origin_dir, exist_ok=True) # Create a fake snapcraft.yaml for _get_origin_data() to parse with open(os.path.join(origin_dir, 'snapcraft.yaml'), 'w') as fp: fp.write("bad yaml is : bad :yaml:::") main(['--debug', '--index', TEST_OUTPUT_PATH]) self.assertThat(_get_part_list_count(), Equals(0)) self.assertTrue('Invalid wiki entry' in fake_logger.output, 'Missing invalid wiki entry info in output')
def test_missing_snapcraft_yaml(self): fixture = fixture_setup.FakePartsWikiOrigin() self.useFixture(fixture) origin_url = fixture.fake_parts_wiki_origin_fixture.url fake_logger = fixtures.FakeLogger(level=logging.ERROR) self.useFixture(fake_logger) _create_example_output( """ --- maintainer: John Doe <*****@*****.**> origin: {origin_url} description: example parts: [somepart] """.format( origin_url=origin_url ) ) main(["--debug", "--index", TEST_OUTPUT_PATH]) self.assertThat(_get_part_list_count(), Equals(0)) self.assertTrue( "1 wiki errors found" in fake_logger.output, "Missing invalid wiki entry info in output", )
def test_missing_snapcraft_yaml_without_debug(self): fixture = fixture_setup.FakePartsWikiOrigin() self.useFixture(fixture) origin_url = fixture.fake_parts_wiki_origin_fixture.url _create_example_output(""" --- maintainer: John Doe <*****@*****.**> origin: {origin_url} description: example parts: [somepart] """.format(origin_url=origin_url)) main(['--index', TEST_OUTPUT_PATH]) self.assertThat(_get_part_list_count(), Equals(0))