aboutsummaryrefslogtreecommitdiff
path: root/wqflask/tests/unit/base/test_data_set.py
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask/tests/unit/base/test_data_set.py')
-rw-r--r--wqflask/tests/unit/base/test_data_set.py238
1 files changed, 0 insertions, 238 deletions
diff --git a/wqflask/tests/unit/base/test_data_set.py b/wqflask/tests/unit/base/test_data_set.py
deleted file mode 100644
index 744c8a94..00000000
--- a/wqflask/tests/unit/base/test_data_set.py
+++ /dev/null
@@ -1,238 +0,0 @@
-"""Tests for wqflask/base/data_set.py"""
-
-import unittest
-from unittest import mock
-from dataclasses import dataclass
-from gn3.monads import MonadicDict
-
-from wqflask import app
-from base.data_set import DatasetType
-from base.data_set.dataset import DataSet
-
-GEN_MENU_JSON = """
-{
- "datasets": {
- "human": {
- "HLC": {
- "Liver mRNA": [
- [
- "320",
- "HLC_0311",
- "GSE9588 Human Liver Normal (Mar11) Both Sexes"
- ]
- ],
- "Phenotypes": [
- [
- "635",
- "HLCPublish",
- "HLC Published Phenotypes"
- ]
- ]
- }
- },
- "mouse": {
- "BXD": {
- "Genotypes": [
- [
- "600",
- "BXDGeno",
- "BXD Genotypes"
- ]
- ],
- "Hippocampus mRNA": [
- [
- "112",
- "HC_M2_0606_P",
- "Hippocampus Consortium M430v2 (Jun06) PDNN"
- ]
- ],
- "Phenotypes": [
- [
- "602",
- "BXDPublish",
- "BXD Published Phenotypes"
- ]
- ]
- }
- }
- },
- "groups": {
- "human": [
- [
- "HLC",
- "Liver: Normal Gene Expression with Genotypes (Merck)",
- "Family:None"
- ]
- ],
- "mouse": [
- [
- "BXD",
- "BXD",
- "Family:None"
- ]
- ]
- },
- "species": [
- [
- "human",
- "Human"
- ],
- [
- "mouse",
- "Mouse"
- ]
- ],
- "types": {
- "human": {
- "HLC": [
- [
- "Phenotypes",
- "Traits and Cofactors",
- "Phenotypes"
- ],
- [
- "Liver mRNA",
- "Liver mRNA",
- "Molecular Trait Datasets"
- ]
- ]
- },
- "mouse": {
- "BXD": [
- [
- "Phenotypes",
- "Traits and Cofactors",
- "Phenotypes"
- ],
- [
- "Genotypes",
- "DNA Markers and SNPs",
- "Genotypes"
- ],
- [
- "Hippocampus mRNA",
- "Hippocampus mRNA",
- "Molecular Trait Datasets"
- ]
- ]
- }
- }
-}
-"""
-
-class MockPhenotypeDataset(DataSet):
- def setup(self):
- self.type = "Publish"
- self.query_for_group = ""
- self.group = ""
-
-
- def check_confidentiality(self):
- pass
-
- def retrieve_other_names(self):
- pass
-
-@dataclass
-class MockGroup:
- name = "Group"
-
-class TestDataSetTypes(unittest.TestCase):
- """Tests for the DataSetType class"""
-
- def setUp(self):
- self.test_dataset = """
- {
- "AD-cases-controls-MyersGeno": "Geno",
- "AD-cases-controls-MyersPublish": "Publish",
- "AKXDGeno": "Geno",
- "AXBXAGeno": "Geno",
- "AXBXAPublish": "Publish",
- "Aging-Brain-UCIPublish": "Publish",
- "All Phenotypes": "Publish",
- "B139_K_1206_M": "ProbeSet",
- "B139_K_1206_R": "ProbeSet"
- }
- """
- self.app_context = app.app_context()
- self.app_context.push()
-
- def tearDown(self):
- self.app_context.pop()
-
- def test_data_set_type(self):
- """Test that DatasetType returns correctly if the Redis Instance is not empty
- and the name variable exists in the dictionary
-
- """
- with app.app_context():
- redis_mock = mock.Mock()
- cursor_mock = mock.Mock()
- redis_mock.get.return_value = self.test_dataset
- self.assertEqual(DatasetType(redis_mock)
- ("All Phenotypes", redis_mock, cursor_mock), "Publish")
- redis_mock.get.assert_called_once_with("dataset_structure")
-
- @mock.patch('base.data_set.datasettype.requests.get')
- def test_data_set_type_with_empty_redis(self, request_mock):
- """Test that DatasetType returns correctly if the Redis Instance is empty and
- the name variable exists in the dictionary
-
- """
- with app.app_context():
- request_mock.return_value.content = GEN_MENU_JSON
- redis_mock = mock.Mock()
- cursor_mock = mock.Mock()
- redis_mock.get.return_value = None
- data_set = DatasetType(redis_mock)
- self.assertEqual(data_set("BXDGeno", redis_mock, cursor_mock),
- "Geno")
- self.assertEqual(data_set("BXDPublish", redis_mock, cursor_mock),
- "Publish")
- self.assertEqual(data_set("HLC_0311", redis_mock, cursor_mock),
- "ProbeSet")
-
- redis_mock.set.assert_called_once_with(
- "dataset_structure",
- ('{"HLC_0311": "ProbeSet", '
- '"HLCPublish": "Publish", '
- '"BXDGeno": "Geno", '
- '"HC_M2_0606_P": "ProbeSet", '
- '"BXDPublish": "Publish"}'))
-
-
-class TestDatasetAccessionId(unittest.TestCase):
- """Tests for the DataSetType class"""
-
- @mock.patch("base.data_set.dataset.query_sql")
- @mock.patch("base.data_set.dataset.DatasetGroup")
- def test_get_accession_id(self, mock_dataset_group, mock_query_sql):
- def mock_fn():
- yield MonadicDict({"accession_id": 7})
- mock_dataset_group.return_value = MockGroup()
- mock_query_sql.return_value = mock_fn()
- sample_dataset = MockPhenotypeDataset(
- name="BXD-LongevityPublish",
- get_samplelist=False,
- group_name="BXD",
- redis_conn=mock.Mock()
- )
- sample_dataset\
- .accession_id\
- .bind(lambda x: self.assertEqual(7, x))
-
- @mock.patch("base.data_set.dataset.query_sql")
- @mock.patch("base.data_set.dataset.DatasetGroup")
- def test_get_accession_id_empty_return(self, mock_dataset_group,
- mock_query_sql):
- mock_dataset_group.return_value = MockGroup()
- mock_query_sql.return_value = None
- sample_dataset = MockPhenotypeDataset(
- name="BXD-LongevityPublish",
- get_samplelist=False,
- group_name="BXD",
- redis_conn=mock.Mock()
- )
- sample_dataset\
- .accession_id\
- .bind(lambda x: self.assertNone(x))