def test_main_happy_path(self): argv = build_argv(positional=self.positional) with captured_output(argv) as (out, err): sut.main() validate_json(self.actual_file, fixtureToAbsolute( 'metadata_public.json')) console_output = out.getvalue() self.assertEqual(console_output, '')
def test_missing_attributes(self): self.positional[0] = fixtureToAbsolute('metadata-missing.json') with self.assertRaises(SystemExit) as ex: argv = build_argv(positional=self.positional) with captured_output(argv) as (out, err): sut.main() self.assertEqual(ex.exception.code, 1) console_output = err.getvalue() self.assertIn('metadata-missing.json', console_output) self.assertIn('is missing', console_output)
def test_bad_input(self): self.positional[0] = fixtureToAbsolute('exp_s3.ndjson') with self.assertRaises(SystemExit) as ex: argv = build_argv(positional=self.positional) with captured_output(argv) as (out, err): sut.main() self.assertEqual(ex.exception.code, 2) console_output = err.getvalue() self.assertIn('exp_s3.ndjson', console_output) self.assertIn('is not a valid JSON document', console_output)