"""Large sheets: when the original is its own print file, and the format check.""" import unittest from app.printjobs import whole_sheet from app.scanning import format_matches ROW = {'id': 'u1', 'name': 'folha.png', 'size': 3 * 1024 ** 3, 'scan_state': 'clean', 'purged_at': None, 'expired': False} def sheet(**changes): source = {'kind': 'sheet', 'width_cm': 57, 'length_cm': 500, 'copies': 1} place = {'x_cm': 0, 'y_cm': 0, 'rotation_degrees': 0, 'mirrored': False} for key, value in changes.items(): (source if key in source else place)[key] = value return {'uploads': ['u1'], 'production': {'film_width_cm': 57, 'sources': [source], 'placements': [place]}} class WholeSheetTest(unittest.TestCase): def test_a_finished_sheet_placed_whole_is_its_own_print_file(self): self.assertIs(whole_sheet(sheet(), {'u1': ROW}), ROW) def test_anything_else_is_prepared_by_hand(self): for changes in ({'copies': 2}, {'kind': 'artwork'}, {'rotation_degrees': 90}, {'mirrored': True}, {'x_cm': 1}, {'width_cm': 50}): with self.subTest(changes=changes): self.assertIsNone(whole_sheet(sheet(**changes), {'u1': ROW})) self.assertIsNone(whole_sheet(sheet(), {'u1': {**ROW, 'name': 'folha.cdr'}})) self.assertIsNone(whole_sheet(sheet(), {'u1': {**ROW, 'scan_state': 'pending'}})) self.assertIsNone(whole_sheet(sheet(), {'u1': {**ROW, 'expired': True}})) class FormatTest(unittest.TestCase): def test_bytes_must_match_the_name(self): self.assertTrue(format_matches('A.PNG', b'\x89PNG\r\n\x1a\n')) self.assertTrue(format_matches('a.tiff', b'MM\x00*')) self.assertFalse(format_matches('a.png', b'%PDF-1.4')) self.assertFalse(format_matches('semextensao', b'\x89PNG\r\n\x1a\n')) if __name__ == '__main__': unittest.main()