Test multi instance and multi user session¶
!lamin login testuser1
!lamin init --storage "./testsetup-prepare"
import lamindb_setup as ln_setup
import pytest
assert ln_setup.settings.user.handle == "testuser1"
ln_setup.init(storage="./testsetup")
from lnschema_core.models import User
User.objects.get(handle="testuser1")
with pytest.raises(Exception): # does not exist
User.objects.get(handle="testuser2")
Let us login with another user:
ln_setup.login("testuser2")
User.objects.get(handle="testuser2")
Let us try to init another instance in the same Python session:
from lamindb_setup._init_instance import CannotSwitchDefaultInstance
with pytest.raises(CannotSwitchDefaultInstance):
ln_setup.init(storage="./testsetup2")
with pytest.raises(CannotSwitchDefaultInstance):
ln_setup.connect("testsetup")
with pytest.raises(RuntimeError):
ln_setup.migrate.create()
with pytest.raises(RuntimeError):
ln_setup.migrate.deploy()
assert ln_setup.settings.instance.slug == "testuser1/testsetup"
!lamin login testuser1
!lamin delete --force testsetup-prepare
!lamin delete --force testsetup