def test_get_init_containers_with_git_without_connection(self): git1 = V1GitConnection(revision="test", url="https://test.com") git2 = V1GitConnection(revision="test", url="https://test.com") containers = self.converter.get_init_containers( contexts=None, artifacts_store=None, init_connections=[ V1Init(git=git1, container=k8s_schemas.V1Container(name="test")), V1Init(git=git2, path="/test"), ], init_containers=[], connection_by_names={}, polyaxon_init=V1PolyaxonInitContainer(image="foo/foo"), ) assert containers == [ get_git_init_container( connection=V1ConnectionType(name=git1.get_name(), kind=V1ConnectionKind.GIT, schema=git1), polyaxon_init=V1PolyaxonInitContainer(image="foo/foo"), env=self.converter.get_init_service_env_vars(), contexts=None, ), get_git_init_container( container=k8s_schemas.V1Container(name="test"), connection=V1ConnectionType(name=git2.get_name(), kind=V1ConnectionKind.GIT, schema=git1), mount_path="/test", polyaxon_init=V1PolyaxonInitContainer(image="foo/foo"), env=self.converter.get_init_service_env_vars(), contexts=None, ), ]
def test_git_connect_config(self): config_dict = {} V1GitConnection.from_dict(config_dict) validate_connection(V1ConnectionKind.GIT, config_dict) config_dict = {"url": "foo"} config = V1GitConnection.from_dict(config_dict) assert config.to_dict() == config_dict config_dict = {"url": "foo", "revision": "foo"} config = V1GitConnection.from_dict(config_dict) assert config.to_dict() == config_dict config_dict = { "url": "foo", "revision": "foo", "flags": ["flag1", "--flag2", "k=v"], } config = V1GitConnection.from_dict(config_dict) assert config.to_dict() == config_dict with self.assertRaises(ValidationError): validate_connection(V1ConnectionKind.REGISTRY, config_dict) with self.assertRaises(ValidationError): validate_connection(V1ConnectionKind.S3, config_dict) with self.assertRaises(ValidationError): validate_connection(V1ConnectionKind.WASB, config_dict) validate_connection(V1ConnectionKind.GIT, config_dict)
def test_get_git_init_container(self): connection = V1ConnectionType( name="user/foo", kind=V1ConnectionKind.GIT, schema=V1GitConnection(url="foo.com"), ) container = get_git_init_container( polyaxon_init=V1PolyaxonInitContainer(image="foo", image_tag=""), connection=connection, contexts=PluginsContextsSpec.from_config(V1Plugins(auth=True)), ) assert container.name == INIT_GIT_CONTAINER.format(connection.name) assert container.image == "foo" assert container.image_pull_policy is None assert container.command == ["polyaxon", "initializer", "git"] assert container.env == get_connection_env_var(connection=connection, secret=None) assert container.resources == get_init_resources() assert container.volume_mounts == [ get_connections_context_mount( name=constants.CONTEXT_VOLUME_ARTIFACTS, mount_path=CONTEXT_MOUNT_ARTIFACTS, ), get_auth_context_mount(read_only=True), ] container = get_git_init_container( polyaxon_init=V1PolyaxonInitContainer( image="init/init", image_tag="", image_pull_policy="IfNotPresent"), connection=connection, contexts=PluginsContextsSpec.from_config(V1Plugins(auth=True)), ) assert container.name == INIT_GIT_CONTAINER.format(connection.name) assert container.image == "init/init" assert container.image_pull_policy == "IfNotPresent" assert container.command == ["polyaxon", "initializer", "git"] assert container.args == [ "--repo_path={}/{}".format(CONTEXT_MOUNT_ARTIFACTS, connection.name), "--url={}".format(connection.schema.url), ] assert container.resources == get_init_resources() assert container.volume_mounts == [ get_connections_context_mount( name=constants.CONTEXT_VOLUME_ARTIFACTS, mount_path=CONTEXT_MOUNT_ARTIFACTS, ), get_auth_context_mount(read_only=True), ] connection = V1ConnectionType( name="user/foo", kind=V1ConnectionKind.GIT, schema=V1GitConnection( url="foo.com", revision="00b9d2ea01c40f58d6b4051319f9375675a43c02"), ) container = get_git_init_container( polyaxon_init=V1PolyaxonInitContainer( image="init/init", image_tag="", image_pull_policy="IfNotPresent"), connection=connection, mount_path="/somepath", contexts=PluginsContextsSpec.from_config(V1Plugins(auth=True)), ) assert container.name == INIT_GIT_CONTAINER.format(connection.name) assert container.image == "init/init" assert container.image_pull_policy == "IfNotPresent" assert container.command == ["polyaxon", "initializer", "git"] assert container.args == [ "--repo_path=/somepath/{}".format(connection.name), "--url={}".format(connection.schema.url), "--revision=00b9d2ea01c40f58d6b4051319f9375675a43c02", ] assert container.resources == get_init_resources() assert container.volume_mounts == [ get_connections_context_mount(name=get_volume_name("/somepath"), mount_path="/somepath"), get_auth_context_mount(read_only=True), ]