aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kabui2021-03-31 22:31:01 +0300
committerAlexander Kabui2021-03-31 22:31:01 +0300
commitf065ea860f8001942bbf7c61eb49e515d358d2eb (patch)
tree24d4882482e7bf605547e2d934a6835bb11fe4b8
parentf6c6851504f14a1a163b6eeb5e3653a5ec3f5ceb (diff)
downloadgenenetwork3-f065ea860f8001942bbf7c61eb49e515d358d2eb.tar.gz
add temp_db setup and integration tests
-rw-r--r--gn3/api/datasets.py28
-rw-r--r--gn3/experimental_db.py11
-rw-r--r--tests/integration/test_datasets.py28
3 files changed, 67 insertions, 0 deletions
diff --git a/gn3/api/datasets.py b/gn3/api/datasets.py
new file mode 100644
index 0000000..874c76a
--- /dev/null
+++ b/gn3/api/datasets.py
@@ -0,0 +1,28 @@
+"""this module contains code for creating datasets"""
+from flask import Blueprint
+from flask import jsonify
+
+from gn3.computations.datasets import create_dataset
+
+
+dataset = Blueprint("dataset", __name__)
+
+
+@dataset.route("/")
+def dataset_home():
+ """initial test endpont for dataset"""
+ return jsonify({"results": "ok"})
+
+
+@dataset.route("/create/<dataset_name>/")
+@dataset.route("/create/<dataset_name>/<dataset_type>")
+def create_dataset_api(dataset_name, dataset_type=None):
+ """Test api/create/dataset/<dataset_name>/<dataset_type>"""
+
+ new_dataset = create_dataset(
+ dataset_type=dataset_type, dataset_name=dataset_name)
+
+ results = {
+ "dataset":new_dataset
+ }
+ return jsonify(results)
diff --git a/gn3/experimental_db.py b/gn3/experimental_db.py
new file mode 100644
index 0000000..c928265
--- /dev/null
+++ b/gn3/experimental_db.py
@@ -0,0 +1,11 @@
+"""this function contains experimental db staff"""
+from typing import Tuple
+import MySQLdb as mdb # type: ignore
+
+
+def database_connector()->Tuple:
+ """function to create db connector"""
+ conn = mdb.connect("local", "kabui", "1234", "db_webqtl")
+ cursor = conn.cursor()
+
+ return (conn, cursor)
diff --git a/tests/integration/test_datasets.py b/tests/integration/test_datasets.py
new file mode 100644
index 0000000..255d998
--- /dev/null
+++ b/tests/integration/test_datasets.py
@@ -0,0 +1,28 @@
+"""this module contains integration tests for datasets"""
+from unittest import TestCase
+from unittest import mock
+
+from collections import namedtuple
+from gn3.app import create_app
+
+
+class DatasetIntegrationTests(TestCase):
+ """class contains integration tests for datasets"""
+
+ def setUp(self):
+ self.app = create_app().test_client()
+
+ @mock.patch("gn3.api.datasets.create_dataset")
+ def test_create_dataset(self, mock_dataset):
+ """test for creating dataset object"""
+ mock_dataset_creator = namedtuple(
+ 'ProbeSet', ["dataset_name", "dataset_type"])
+ new_dataset = mock_dataset_creator("HC_M2_0606_P", "ProbeSet")
+ mock_dataset.return_value = new_dataset
+ response = self.app.get(
+ "/api/dataset/create/HC_M2_0606_P/", follow_redirects=True)
+ mock_dataset.assert_called_once_with(
+ dataset_type=None, dataset_name="HC_M2_0606_P")
+ results = response.get_json()["dataset"]
+ self.assertEqual(results[1], "ProbeSet")
+ self.assertEqual(response.status_code, 200)