Example #1
0
    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, '')
Example #2
0
    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)
Example #3
0
    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)