aboutsummaryrefslogtreecommitdiff
path: root/tests/incite/schemas/test_thl_web.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/incite/schemas/test_thl_web.py')
-rw-r--r--tests/incite/schemas/test_thl_web.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/incite/schemas/test_thl_web.py b/tests/incite/schemas/test_thl_web.py
new file mode 100644
index 0000000..7f4434b
--- /dev/null
+++ b/tests/incite/schemas/test_thl_web.py
@@ -0,0 +1,70 @@
+import pandas as pd
+import pytest
+from pandera.errors import SchemaError
+
+
+class TestWallSchema:
+
+ def test_empty(self):
+ from generalresearch.incite.schemas.thl_web import THLWallSchema
+
+ with pytest.raises(SchemaError):
+ THLWallSchema.validate(pd.DataFrame())
+
+ def test_index_missing(self):
+ from generalresearch.incite.schemas.thl_web import THLWallSchema
+
+ df = pd.DataFrame(columns=THLWallSchema.columns.keys())
+
+ with pytest.raises(SchemaError) as cm:
+ THLWallSchema.validate(df)
+
+ def test_no_rows(self):
+ from generalresearch.incite.schemas.thl_web import THLWallSchema
+
+ df = pd.DataFrame(index=["uuid"], columns=THLWallSchema.columns.keys())
+
+ with pytest.raises(SchemaError) as cm:
+ THLWallSchema.validate(df)
+
+ def test_new_empty_df(self):
+ from generalresearch.incite.schemas import empty_dataframe_from_schema
+ from generalresearch.incite.schemas.thl_web import THLWallSchema
+
+ df = empty_dataframe_from_schema(THLWallSchema)
+ assert isinstance(df, pd.DataFrame)
+ assert df.columns.size == 20
+
+
+class TestSessionSchema:
+
+ def test_empty(self):
+ from generalresearch.incite.schemas.thl_web import THLSessionSchema
+
+ with pytest.raises(SchemaError):
+ THLSessionSchema.validate(pd.DataFrame())
+
+ def test_index_missing(self):
+ from generalresearch.incite.schemas.thl_web import THLSessionSchema
+
+ df = pd.DataFrame(columns=THLSessionSchema.columns.keys())
+ df.set_index("uuid", inplace=True)
+
+ with pytest.raises(SchemaError) as cm:
+ THLSessionSchema.validate(df)
+
+ def test_no_rows(self):
+ from generalresearch.incite.schemas.thl_web import THLSessionSchema
+
+ df = pd.DataFrame(index=["id"], columns=THLSessionSchema.columns.keys())
+
+ with pytest.raises(SchemaError) as cm:
+ THLSessionSchema.validate(df)
+
+ def test_new_empty_df(self):
+ from generalresearch.incite.schemas import empty_dataframe_from_schema
+ from generalresearch.incite.schemas.thl_web import THLSessionSchema
+
+ df = empty_dataframe_from_schema(THLSessionSchema)
+ assert isinstance(df, pd.DataFrame)
+ assert df.columns.size == 21