def test_pod_name_collision(): user1 = MockUser() user1.name = "user-has-dash" orm_spawner1 = Spawner() orm_spawner1.name = "" user2 = MockUser() user2.name = "user-has" orm_spawner2 = Spawner() orm_spawner2.name = "2ddash" spawner = KubeSpawner(user=user1, orm_spawner=orm_spawner1, _mock=True) assert spawner.pod_name == "jupyter-user-2dhas-2ddash" assert spawner.pvc_name == "claim-user-2dhas-2ddash" named_spawner = KubeSpawner(user=user2, orm_spawner=orm_spawner2, _mock=True) assert named_spawner.pod_name == "jupyter-user-2dhas--2ddash" assert spawner.pod_name != named_spawner.pod_name assert named_spawner.pvc_name == "claim-user-2dhas--2ddash" assert spawner.pvc_name != named_spawner.pvc_name
def test_pod_name_escaping(): c = Config() c.JupyterHub.allow_named_servers = True user = Config() user.name = "some_user" orm_spawner = Spawner() orm_spawner.name = "test-server!" spawner = KubeSpawner(config=c, user=user, orm_spawner=orm_spawner, _mock=True) assert spawner.pod_name == "jupyter-some-5fuser-test-2dserver-21"
def test_pod_name_named_servers(): c = Config() c.JupyterHub.allow_named_servers = True user = Config() user.name = "user" orm_spawner = Spawner() orm_spawner.name = "server" spawner = KubeSpawner(config=c, user=user, orm_spawner=orm_spawner, _mock=True) assert spawner.pod_name == "jupyter-user-server"