def test_main_create_only(self, raven, temp_dir, mock_main_fixtures): """main() can just generate tiles.""" mock_generate, mock_check_bucket = mock_main_fixtures argv = ["--create", "--concurrency=1", f"--output={temp_dir}"] main(argv, _raven_client=raven, _bucket_name="bucket") assert len(mock_generate.mock_calls) == 1 args, kw = mock_generate.call_args assert args == (temp_dir, "bucket", raven) assert kw == {"concurrency": 1, "create": True, "upload": False} assert not mock_check_bucket.mock_calls
def test_main_early_exit(self, raven, mock_main_fixtures, argv, exitcode): """main() exits early for some argument combinations""" mock_generate, mock_check_bucket = mock_main_fixtures result = main(argv, _raven_client=raven, _bucket_name="bucket") assert result == exitcode assert not mock_generate.mock_calls assert not mock_check_bucket.mock_calls
def test_main(self, raven, temp_dir, mock_main_fixtures): """main() calls generate with passed arguments""" mock_generate, mock_check_bucket = mock_main_fixtures argv = [ "--create", "--upload", "--concurrency=1", f"--output={temp_dir}", ] main(argv, _raven_client=raven, _bucket_name="bucket") assert len(mock_generate.mock_calls) == 1 args, kw = mock_generate.call_args assert args == (temp_dir, "bucket", raven) assert kw == {"concurrency": 1, "create": True, "upload": True} mock_check_bucket.assert_called_once_with("bucket")
def test_main(self, raven): with util.selfdestruct_tempdir() as temp_dir: mock_generate = MagicMock() with patch.object(datamap, "generate", mock_generate): argv = [ "bin/location_map", "--create", "--upload", "--concurrency=1", "--output=%s" % temp_dir, ] main(argv, _raven_client=raven, _bucketname="bucket") assert len(mock_generate.mock_calls) == 1 args, kw = mock_generate.call_args assert kw["concurrency"] == 1 assert kw["output"] == temp_dir assert kw["upload"] is True
def test_main_upload_no_tiles_exits(self, raven, tmpdir, mock_main_fixtures): """main() exits early if upload folder has no tiles.""" mock_generate, mock_check_bucket = mock_main_fixtures argv = ["--upload", f"--output={tmpdir}"] result = main(argv, _raven_client=raven, _bucket_name="bucket") assert result == 1 assert not mock_generate.mock_calls assert not mock_check_bucket.mock_calls
def test_main(self): with util.selfdestruct_tempdir() as temp_dir: mock_generate = MagicMock() with patch.object(datamap, "generate", mock_generate): argv = [ "bin/location_map", "--create", "--upload", "--concurrency=1", "--datamaps=%s/datamaps" % temp_dir, "--output=%s" % temp_dir, ] main(argv, _raven_client=self.raven_client, _stats_client=self.stats_client) self.assertEqual(len(mock_generate.mock_calls), 1) args, kw = mock_generate.call_args self.assertEqual(kw["concurrency"], 1) self.assertEqual(kw["datamaps"], temp_dir + "/datamaps") self.assertEqual(kw["output"], temp_dir) self.assertEqual(kw["upload"], True)
def test_main(self, raven, stats): with util.selfdestruct_tempdir() as temp_dir: mock_generate = MagicMock() with patch.object(datamap, 'generate', mock_generate): argv = [ 'bin/location_map', '--create', '--upload', '--concurrency=1', '--output=%s' % temp_dir, ] main(argv, _raven_client=raven, _stats_client=stats, _bucketname='bucket') assert len(mock_generate.mock_calls) == 1 args, kw = mock_generate.call_args assert kw['concurrency'] == 1 assert kw['output'] == temp_dir assert kw['upload'] is True
def test_main(self): with util.selfdestruct_tempdir() as temp_dir: mock_generate = MagicMock() with patch.object(datamap, 'generate', mock_generate): argv = [ 'bin/location_map', '--create', '--upload', '--concurrency=1', '--datamaps=%s/datamaps' % temp_dir, '--output=%s' % temp_dir, ] main(argv, _raven_client=self.raven_client, _stats_client=self.stats_client) self.assertEqual(len(mock_generate.mock_calls), 1) args, kw = mock_generate.call_args self.assertEqual(kw['concurrency'], 1) self.assertEqual(kw['datamaps'], temp_dir + '/datamaps') self.assertEqual(kw['output'], temp_dir) self.assertEqual(kw['upload'], True)
def test_main_tmp_dir(self, raven, mock_main_fixtures): """main() generates a temporary directory if --output omitted.""" mock_generate, mock_check_bucket = mock_main_fixtures argv = ["--create", "--upload"] result = main(argv, _raven_client=raven, _bucket_name="bucket") assert result == 0 assert len(mock_generate.mock_calls) == 1 args, kw = mock_generate.call_args assert args[0] # Some system-specific temporary folder assert not os.path.exists(args[0]) assert args[1:] == ("bucket", raven) affinity = len(os.sched_getaffinity(0)) assert kw == {"concurrency": affinity, "create": True, "upload": True} mock_check_bucket.assert_called_once_with("bucket")
def test_main_upload_only(self, raven, temp_dir, mock_main_fixtures): """main() can upload if tiles subfolder exists.""" mock_generate, mock_check_bucket = mock_main_fixtures tiles = os.path.join(temp_dir, "tiles") os.makedirs(tiles) argv = [ "--upload", f"--output={temp_dir}", "--concurrency=1", ] result = main(argv, _raven_client=raven, _bucket_name="bucket") assert result == 0 assert len(mock_generate.mock_calls) == 1 args, kw = mock_generate.call_args assert args == (temp_dir, "bucket", raven) assert kw == {"concurrency": 1, "create": False, "upload": True} mock_check_bucket.assert_called_once_with("bucket")