def test_results_no_crux(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput metadata_mock = helpers.load_mock_data( 'psi_results_no_crux_metadata.mock') labdata_mock = helpers.load_mock_data( 'psi_results_no_crux_labdata.mock') cruxdata_mock = helpers.load_mock_data( 'psi_results_no_crux_cruxdata.mock') verbose = True print_out.results(metadata_mock, labdata_mock, cruxdata_mock, verbose) results_output = '''2021-04-24T15:36:18.287Z Lighthouse Version: 7.3.0 Score: 100 (LCP: 0.3 s; CLS: 0.003; FCP: 0.2 s; Speed Index: 0.3 s; TTI: 0.2 s; TBT: 0 ms) ''' self.assertEqual(capturedOutput.getvalue(), results_output) sys.stdout = sys.__stdout__
def test_results_full(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput metadata_mock = helpers.load_mock_data( 'psi_results_full_metadata.mock') labdata_mock = helpers.load_mock_data('psi_results_full_labdata.mock') cruxdata_mock = helpers.load_mock_data( 'psi_results_full_cruxdata.mock') verbose = True print_out.results(metadata_mock, labdata_mock, cruxdata_mock, verbose) results_output = '''2021-04-24T15:31:03.860Z Lighthouse Version: 7.3.0 Score: 73 (LCP: 2.0 s; CLS: 0.000; FCP: 1.1 s; Speed Index: 1.9 s; TTI: 2.3 s; TBT: 294 ms) CrUX-Data FCP: 1.4 s (AVERAGE) (Good 52% / Avg 44% / Bad 3%) LCP: 2.0 s (FAST) (Good 84% / Avg 10% / Bad 6%) FID: 4 ms (FAST) (Good 99% / Avg 1% / Bad 0%) CLS: 0.190 (AVERAGE) (Good 59% / Avg 24% / Bad 17%) ''' self.assertEqual(capturedOutput.getvalue(), results_output) sys.stdout = sys.__stdout__
def test_cleanup_data_full(self): psi_results_full_measurements = helpers.load_mock_data( 'psi_results_full_measurements.mock') cleanup_data_full_mock = helpers.load_mock_data( 'cleanup_data_full.mock') filterlist = [ 'crux_fcp_category', 'crux_lcp_category', 'crux_fid_category', 'crux_cls_category', 'lighthouse_version', 'time' ] cleanup_data = dbtimeseries.cleanup_data(psi_results_full_measurements, filterlist) self.assertDictEqual(cleanup_data, cleanup_data_full_mock)
class TestPsi_api(unittest.TestCase): psi_results_full = helpers.load_mock_data('psi_results_full.mock') psi_results_no_crux = helpers.load_mock_data('psi_results_no_crux.mock') def test_get_meta_data(self): metadata_mock = helpers.load_mock_data( 'psi_results_full_metadata.mock') metadata = psi_api.get_meta_data(self.psi_results_full) self.assertDictEqual(metadata, metadata_mock) def test_get_meta_data_no_crux(self): metadata_mock = helpers.load_mock_data( 'psi_results_no_crux_metadata.mock') metadata = psi_api.get_meta_data(self.psi_results_no_crux) self.assertDictEqual(metadata, metadata_mock) def test_get_lab_data(self): labdata_mock = helpers.load_mock_data('psi_results_full_labdata.mock') labdata = psi_api.get_lab_data(self.psi_results_full) self.assertDictEqual(labdata, labdata_mock) def test_get_lab_data_no_crux(self): labdata_mock = helpers.load_mock_data( 'psi_results_no_crux_labdata.mock') labdata = psi_api.get_lab_data(self.psi_results_no_crux) self.assertDictEqual(labdata, labdata_mock) def test_get_crux_data(self): cruxdata_mock = helpers.load_mock_data( 'psi_results_full_cruxdata.mock') cruxdata = psi_api.get_crux_data(self.psi_results_full) self.assertDictEqual(cruxdata, cruxdata_mock) def test_get_crux_data_no_crux(self): cruxdata_mock = helpers.load_mock_data( 'psi_results_no_crux_cruxdata.mock') cruxdata = psi_api.get_crux_data(self.psi_results_no_crux) self.assertDictEqual(cruxdata, cruxdata_mock)
def test_get_crux_data_no_crux(self): cruxdata_mock = helpers.load_mock_data( 'psi_results_no_crux_cruxdata.mock') cruxdata = psi_api.get_crux_data(self.psi_results_no_crux) self.assertDictEqual(cruxdata, cruxdata_mock)
def test_get_lab_data_no_crux(self): labdata_mock = helpers.load_mock_data( 'psi_results_no_crux_labdata.mock') labdata = psi_api.get_lab_data(self.psi_results_no_crux) self.assertDictEqual(labdata, labdata_mock)
def test_get_meta_data_no_crux(self): metadata_mock = helpers.load_mock_data( 'psi_results_no_crux_metadata.mock') metadata = psi_api.get_meta_data(self.psi_results_no_crux) self.assertDictEqual(metadata, metadata_mock)
class TestPrint_out(unittest.TestCase): psi_results_full = helpers.load_mock_data('psi_results_full.mock') psi_results_no_crux = helpers.load_mock_data('psi_results_no_crux.mock') def test_results_full(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput metadata_mock = helpers.load_mock_data( 'psi_results_full_metadata.mock') labdata_mock = helpers.load_mock_data('psi_results_full_labdata.mock') cruxdata_mock = helpers.load_mock_data( 'psi_results_full_cruxdata.mock') verbose = True print_out.results(metadata_mock, labdata_mock, cruxdata_mock, verbose) results_output = '''2021-04-24T15:31:03.860Z Lighthouse Version: 7.3.0 Score: 73 (LCP: 2.0 s; CLS: 0.000; FCP: 1.1 s; Speed Index: 1.9 s; TTI: 2.3 s; TBT: 294 ms) CrUX-Data FCP: 1.4 s (AVERAGE) (Good 52% / Avg 44% / Bad 3%) LCP: 2.0 s (FAST) (Good 84% / Avg 10% / Bad 6%) FID: 4 ms (FAST) (Good 99% / Avg 1% / Bad 0%) CLS: 0.190 (AVERAGE) (Good 59% / Avg 24% / Bad 17%) ''' self.assertEqual(capturedOutput.getvalue(), results_output) sys.stdout = sys.__stdout__ def test_results_no_crux(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput metadata_mock = helpers.load_mock_data( 'psi_results_no_crux_metadata.mock') labdata_mock = helpers.load_mock_data( 'psi_results_no_crux_labdata.mock') cruxdata_mock = helpers.load_mock_data( 'psi_results_no_crux_cruxdata.mock') verbose = True print_out.results(metadata_mock, labdata_mock, cruxdata_mock, verbose) results_output = '''2021-04-24T15:36:18.287Z Lighthouse Version: 7.3.0 Score: 100 (LCP: 0.3 s; CLS: 0.003; FCP: 0.2 s; Speed Index: 0.3 s; TTI: 0.2 s; TBT: 0 ms) ''' self.assertEqual(capturedOutput.getvalue(), results_output) sys.stdout = sys.__stdout__ def test_results_not_verbose(self): verbose = False results = print_out.results({}, {}, {}, verbose) self.assertIsNone(results) def test_divider(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput verbose = True print_out.divider(verbose) results_output = ''' ======================================== ''' self.assertEqual(capturedOutput.getvalue(), results_output) sys.stdout = sys.__stdout__ def test_divider_not_verbose(self): verbose = False results = print_out.divider(verbose) self.assertIsNone(results) def test_banner(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput print_out._banner(0) results_output = ''' ''' self.assertEqual(capturedOutput.getvalue(), results_output) capturedOutput.truncate(0) capturedOutput.seek(0) print_out._banner(12) results_output_banner = '''============ ''' self.assertEqual(capturedOutput.getvalue(), results_output_banner) sys.stdout = sys.__stdout__ def test_info(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput verbose = True print_out.info(verbose, 2, 'This is a Test.') results_output = '''This is a Test. ''' self.assertEqual(capturedOutput.getvalue(), results_output) sys.stdout = sys.__stdout__ def test_info_with_format(self): capturedOutput = io.StringIO() sys.stdout = capturedOutput verbose = True print_out.info(verbose, 4, 'This {} {} {}.', ['is', 'a', 'Test']) results_output = '''This is a Test. ''' self.assertEqual(capturedOutput.getvalue(), results_output) sys.stdout = sys.__stdout__ def test_info_not_verbose(self): verbose = False results = print_out.info(verbose, 200, 'Foo Bar {}', ['Baz']) self.assertIsNone(results)