예제 #1
0
    def test_publish_python_package_blob(self, m1, m2, m3):
        conf = {**takeoff_config(), **BASE_CONF, "target": ["cloud_storage"]}

        with mock.patch.object(victim, 'upload_to_cloud_storage') as m:
            victim(FAKE_ENV, conf).publish_python_package()

        m.assert_called_once_with(file="some.whl", file_extension=".whl")
예제 #2
0
    def test_publish_python_package_pypi(self, _, __):
        conf = {**takeoff_config(), **BASE_CONF, "target": ["pypi"]}

        with mock.patch.object(victim, 'publish_to_pypi') as m:
            victim(FAKE_ENV, conf).publish_python_package()

        m.assert_called_once()
예제 #3
0
 def test_publish_to_pypi(self, m1, m2, m3):
     conf = {
         **takeoff_config(),
         **BASE_CONF, "language": "python",
         "target": ["pypi"]
     }
     env = ApplicationVersion('prd', '1.0.0', 'branch')
     with mock.patch("takeoff.azure.publish_artifact.upload") as m:
         victim(env, conf).publish_to_pypi()
     m.assert_called_once_with(upload_settings="foo", dists=["dist/*"])
예제 #4
0
 def test_publish_to_pypi_no_tag(self, m1, m2, m3):
     conf = {
         **takeoff_config(),
         **BASE_CONF,
         "language": "python",
         "target": ["pypi"],
     }
     with mock.patch("takeoff.azure.publish_artifact.upload") as m:
         victim(FAKE_ENV, conf).publish_to_pypi()
     m.assert_not_called()
예제 #5
0
 def test_publish_to_ivy_with_tag(self, m1, m2, m3):
     conf = {
         **takeoff_config(),
         **BASE_CONF, "language": "scala",
         "target": ["ivy"]
     }
     env = ApplicationVersion('prd', '1.0.0', 'branch')
     with mock.patch("takeoff.azure.publish_artifact.run_shell_command",
                     return_value=(0, ['output_lines'])) as m:
         victim(env, conf).publish_to_ivy()
     m.assert_called_once_with(["sbt", 'set version := "1.0.0"', "publish"])
예제 #6
0
 def test_publish_to_ivy(self, _, __, ___):
     conf = {
         **takeoff_config(),
         **BASE_CONF, "language": "scala",
         "target": ["ivy"]
     }
     with mock.patch("takeoff.azure.publish_artifact.run_shell_command",
                     return_value=(0, ['output_lines'])) as m:
         victim(FAKE_ENV, conf).publish_to_ivy()
     m.assert_called_once_with(
         ["sbt", 'set version := "v-SNAPSHOT"', "publish"])
예제 #7
0
    def test_publish_jar_package_ivy(self, m1, m2):
        conf = {
            **takeoff_config(),
            **BASE_CONF, "language": "scala",
            "target": ["ivy"]
        }

        with mock.patch.object(victim, 'publish_to_ivy') as m:
            victim(FAKE_ENV, conf).publish_jvm_package()

        m.assert_called_once()
예제 #8
0
 def test_upload_file_to_blob(self, m1, m2):
     conf = {
         **takeoff_config(),
         **BASE_CONF, "language": "scala",
         "target": ["ivy"]
     }
     with mock.patch.object(azure.storage.blob, "BlockBlobService") as m:
         victim(FAKE_ENV, conf)._upload_file_to_azure_storage_account(
             m, "Dave", "Mustaine", "mylittlepony")
     m.create_blob_from_path.assert_called_once_with(
         container_name="mylittlepony",
         blob_name="Mustaine",
         file_path="Dave")
예제 #9
0
    def test_publish_python_package_blob_with_file(self, m1, m2, m3):
        conf = {
            **takeoff_config(),
            **BASE_CONF,
            "target": ["cloud_storage"],
            "python_file_path": "main.py",
        }

        with mock.patch.object(victim, 'upload_to_cloud_storage') as m:
            victim(FAKE_ENV, conf).publish_python_package()

        calls = [
            mock.call(file="some.whl", file_extension=".whl"),
            mock.call(file="main.py", file_extension=".py")
        ]
        m.assert_has_calls(calls)
예제 #10
0
    def test_validate_schema_invalid_target(self, _):
        conf = {**takeoff_config(), **BASE_CONF, "target": ["ivy"]}

        with pytest.raises(vol.Invalid):
            victim(ApplicationVersion("dev", "v", "branch"), conf)

        conf = {
            **takeoff_config(),
            **BASE_CONF,
            **{
                "language": "sbt",
                "target": ["pypi"]
            }
        }

        with pytest.raises(vol.Invalid):
            victim(ApplicationVersion("dev", "v", "branch"), conf)
예제 #11
0
    def test_validate_schema_invalid_target(self, _):
        conf = {**takeoff_config(), **BASE_CONF, "target": ["WRONG"]}

        with pytest.raises(vol.MultipleInvalid):
            victim(ApplicationVersion("dev", "v", "branch"), conf)
예제 #12
0
    def test_validate_minimal_schema(self, m1, m2):
        conf = {**takeoff_config(), **BASE_CONF}

        victim(ApplicationVersion("dev", "v", "branch"), conf)