1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
"""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)
@mock.patch("gn3.api.datasets.get_traits_data")
@mock.patch("gn3.api.datasets.database_connector")
def test_fetch_traits_data(self, mock_db, mock_get_trait_data):
"""Test api/dataset/fetch_traits_data/d_name/d_type"""
mock_get_trait_data.return_value = {}
mock_db.return_value = (mock.Mock(), mock.Mock())
response = self.app.get(
"/api/dataset/fetch_traits_data/Aging-Brain-UCIPublish/Publish", follow_redirects=True)
self.assertEqual(response.status_code, 200)
self.assertEqual(response.get_json(), {"results": {}})
|