diff --git a/tests/conftest.py b/tests/conftest.py
index 8704b2dcc71d94416f77c1c2e01b0dea76e88ae4..c6c014d480956b6cd7275b4603d45228531b2323 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,5 +1,6 @@
 import pytest
 import time
+import random
 
 from pybis import Openbis
 
@@ -7,10 +8,24 @@ openbis_url = 'https://localhost:8443'
 admin_username = 'admin'
 admin_password = 'changeit'
 
+@pytest.yield_fixture(scope="module")
+def url():
+    yield openbis_url
+
+@pytest.yield_fixture(scope="module")
+def username():
+    yield admin_username
+
+@pytest.yield_fixture(scope="module")
+def password():
+    yield admin_password
+
 @pytest.yield_fixture(scope="module")
 def openbis_instance():
     instance = Openbis(url=openbis_url, verify_certificates=False)
+    instance.login(admin_username, admin_password)
     print("\nLOGGING IN...")
+    print(instance.is_session_active())
 
     timestamp = time.strftime('%a_%y%m%d_%H%M%S').upper()
     space_code = 'test_space_' + timestamp
@@ -22,11 +37,20 @@ def openbis_instance():
     project.save()
 
     experiment_code = "TEST-EXPERIMENT-{:04d}".format(random.randint(0, 9999))
-    experiment = instance.new_experiment(code=experiment_code, space=space, project=project)
+    experiment = instance.new_experiment(
+        code=experiment_code,
+        type='DEFAULT_EXPERIMENT',
+        project=project,
+    )
     experiment.save()
 
     sample_code = "TEST-SAMPLE-{:04d}".format(random.randint(0, 9999))
-    sample = instance.new_sample(code=sample_code, space=space, project=project)
+    sample = instance.new_sample(
+        code=sample_code, 
+        type='UNKNOWN',
+        space=space, 
+        experiment=experiment,
+    )
     sample.save()
 
     instance.login(admin_username, admin_password)
diff --git a/tests/test_connection.py b/tests/test_connection.py
index c687d38a96a04b4332d613912b0bba7aac7ac275..035f4c7973cf505763a3bd2cf6769f78d1d2e941 100644
--- a/tests/test_connection.py
+++ b/tests/test_connection.py
@@ -1,8 +1,51 @@
 import pytest
 
 import importlib  
-jupyterserver = importlib.import_module("jupyter-openbis-extension")
+js = importlib.import_module("jupyter-openbis-extension")
 
 
-def test_conn():
-    pass    
+def test_conn(url, username, password):
+
+    conn = js.connection.OpenBISConnection(
+        name = "test-conn",
+        url  = url,
+        username = username,
+        password = password,
+        verify_certificates = False,
+    )
+
+    info = conn.get_info()
+    assert isinstance(info, dict)
+    assert info['name'] == 'test-conn'
+    assert info['url']  == url
+    assert info['username'] == username
+    assert info['password'] == password
+
+    assert conn.status == 'not connected'
+    try:
+        conn.login()
+    except Exception:
+        pass
+    assert conn.status == 'connected'
+    assert conn.is_session_active() == True
+
+
+def test_conn_login(url, username, password):
+
+    conn = js.connection.OpenBISConnection(
+        name = "test-conn",
+        url  = url,
+        verify_certificates = False,
+    )
+
+    assert conn.status == 'not connected'
+    try:
+        conn.login(username, password)
+    except Exception:
+        pass
+
+    assert conn.status == "connected"
+
+def test_dataset(openbis_instance):
+    pass
+