def _test_command(self, command, datafile=DATA_FILE, electiondate=None): """ Execute an `elex` sub-command; returns fieldnames and rows """ stdout_backup = sys.stdout sys.stdout = StringIO() argv = [command] if electiondate is not None: argv.append(electiondate) argv = argv + ['--data-file', datafile] app = ElexApp(argv=argv) app.setup() app.log.set_level('FATAL') app.run() lines = sys.stdout.getvalue().split('\n') reader = csv.DictReader(lines) sys.stdout.close() sys.stdout = stdout_backup return reader.fieldnames, list(reader)
def _test_command( self, command, datafile=DATA_FILE, delsum_datafile=DELSUM_DATA_FILE, delsuper_datafile=DELSUPER_DATA_FILE, electiondate=DATA_ELECTION_DATE ): """ Execute an `elex` sub-command; returns fieldnames and rows """ stdout_backup = sys.stdout sys.stdout = StringIO() argv = [command] argv.append(electiondate) argv = argv + ['--data-file', datafile, '-o', 'json'] argv = argv + ['--delegate-sum-file', delsum_datafile] argv = argv + ['--delegate-super-file', delsuper_datafile] app = ElexApp(argv=argv) app.setup() app.log.set_level('FATAL') app.run() json_data = sys.stdout.getvalue() data = json.loads(json_data, object_pairs_hook=OrderedDict) sys.stdout.close() sys.stdout = stdout_backup return list(data[0].keys()), data
def _test_command(self, command, datafile=DATA_FILE, electiondate=None): """ Execute an `elex` sub-command; returns fieldnames and rows """ stdout_backup = sys.stdout sys.stdout = StringIO() argv = [command] if electiondate is not None: argv.append(electiondate) argv = argv + ['--data-file', datafile, '-o', 'json'] app = ElexApp(argv=argv) app.setup() app.log.set_level('FATAL') app.run() json_data = sys.stdout.getvalue() data = json.loads(json_data, object_pairs_hook=OrderedDict) sys.stdout.close() sys.stdout = stdout_backup return data[0].keys(), data
def test_elex_cache_hit_exit_code(self): uncached_app = ElexApp(argv=['results', '2016-02-01', '--quiet']) uncached_app.setup() uncached_app.run() cached_app = ElexApp(argv=['results', '2016-02-01', '--quiet']) cached_app.setup() cached_app.run() self.assertEqual(cached_app.exit_code, 64)
def _test_command( self, command, datafile=DATA_FILE, delsum_datafile=DELSUM_DATA_FILE, delsuper_datafile=DELSUPER_DATA_FILE, electiondate=DATA_ELECTION_DATE, resultslevel=None, with_timestamp=False, batch_name=False ): """ Execute an `elex` sub-command; returns fieldnames and rows """ stdout_backup = sys.stdout sys.stdout = StringIO() argv = [command] if electiondate is not None: argv.append(electiondate) argv = argv + ['--data-file', datafile] argv = argv + ['--delegate-sum-file', delsum_datafile] argv = argv + ['--delegate-super-file', delsuper_datafile] argv = argv + ['--results-level', resultslevel] if with_timestamp: argv = argv + ['--with-timestamp'] if batch_name: argv = argv + ['--batch-name', batch_name] app = ElexApp(argv=argv) app.setup() app.log.set_level('FATAL') app.run() lines = sys.stdout.getvalue().split('\n') reader = csv.DictReader(lines) sys.stdout.close() sys.stdout = stdout_backup return reader.fieldnames, list(reader)
def _test_command( self, command, datafile=DATA_FILE, delsum_datafile=DELSUM_DATA_FILE, delsuper_datafile=DELSUPER_DATA_FILE, electiondate=DATA_ELECTION_DATE, resultslevel=None, with_timestamp=False, batch_name=False ): """ Execute an `elex` sub-command; returns fieldnames and rows """ stdout_backup = sys.stdout sys.stdout = StringIO() argv = [command] argv.append(electiondate) argv = argv + ['--data-file', datafile, '-o', 'json'] argv = argv + ['--delegate-sum-file', delsum_datafile] argv = argv + ['--delegate-super-file', delsuper_datafile] argv = argv + ['--results-level', resultslevel] if with_timestamp: argv = argv + ['--with-timestamp'] if batch_name: argv = argv + ['--batch-name', batch_name] app = ElexApp(argv=argv) app.setup() app.log.set_level('FATAL') app.run() json_data = sys.stdout.getvalue() data = json.loads(json_data, object_pairs_hook=OrderedDict) sys.stdout.close() sys.stdout = stdout_backup return list(data[0].keys()), data
def test_elex_cache_clear_command_no_cache(self): app = ElexApp(argv=['clear-cache', '--quiet']) app.setup() app.run() self.assertEqual(app.exit_code, 65)
def test_elex_cache_clear_command_after_caching(self): self.api_request('/elections/2016-02-01') app = ElexApp(argv=['clear-cache', '--quiet']) app.setup() app.run() self.assertEqual(app.exit_code, 0)
def test_elex_cache_clear_command_no_cache(self): app = ElexApp(argv=['clear-cache']) app.setup() app.run() self.assertEqual(app.exit_code, 64)
def test_elex_cache_clear_command_after_caching(self): self.api_request('/elections/2016-02-01') app = ElexApp(argv=['clear-cache']) app.setup() app.run() self.assertEqual(app.exit_code, 0)