示例#1
0
    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
示例#2
0
    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
示例#3
0
    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")
示例#4
0
    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
示例#5
0
    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
示例#6
0
    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)
示例#7
0
    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
示例#8
0
    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
示例#9
0
    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)
示例#10
0
    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)
示例#11
0
    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")
示例#12
0
    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")