• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

CBIIT / INS-Dataloader / 20830846076

08 Jan 2026 08:32PM UTC coverage: 16.048%. First build
20830846076

Pull #48

github

web-flow
Merge af9385870 into fa32f631b
Pull Request #48: Fix failing unit tests by skipping Neo4j-dependent tests

15 of 43 new or added lines in 4 files covered. (34.88%)

644 of 4013 relevant lines covered (16.05%)

0.32 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

25.81
/tests/test_reloading_data.py
1
import unittest
2✔
2
from bento.common.utils import get_logger, NODES_CREATED, RELATIONSHIP_CREATED, NODES_DELETED, RELATIONSHIP_DELETED
2✔
3
from data_loader import DataLoader
2✔
4
from icdc_schema import ICDC_Schema
2✔
5
from props import Props
2✔
6
import os
2✔
7
from neo4j import GraphDatabase
2✔
8

9

10
@unittest.skipIf('NEO_PASSWORD' not in os.environ, "NEO_PASSWORD environment variable not set")
2✔
11
class TestLoaderReload(unittest.TestCase):
2✔
12
    def setUp(self):
2✔
NEW
13
        test_dir = os.path.dirname(os.path.abspath(__file__))
×
14
        uri = 'bolt://localhost:7687'
×
15
        user = 'neo4j'
×
16
        password = os.environ['NEO_PASSWORD']
×
17

18
        self.driver = GraphDatabase.driver(uri, auth = (user, password))
×
NEW
19
        self.data_folder = os.path.join(test_dir, 'data', 'COTC007B')
×
NEW
20
        props = Props(os.path.join(os.path.dirname(test_dir), 'config', 'props-ins.yml'))
×
NEW
21
        self.schema = ICDC_Schema([
×
22
            os.path.join(test_dir, 'data', 'icdc-model.yml'),
23
            os.path.join(test_dir, 'data', 'icdc-model-props.yml')
24
        ], props)
25
        self.log = get_logger('Test Loader')
×
26
        self.loader = DataLoader(self.driver, self.schema)
×
27
        self.file_list = [
×
28
            os.path.join(test_dir, "data", "Dataset", "COP-program.txt"),
29
            os.path.join(test_dir, "data", "Dataset", "COTC007B-case.txt"),
30
            os.path.join(test_dir, "data", "Dataset", "COTC007B-cohort.txt"),
31
            os.path.join(test_dir, "data", "Dataset", "COTC007B-cycle.txt"),
32
            os.path.join(test_dir, "data", "Dataset", "COTC007B-demographic.txt"),
33
            os.path.join(test_dir, "data", "Dataset", "COTC007B-diagnostic.txt"),
34
            os.path.join(test_dir, "data", "Dataset", "COTC007B-enrollment.txt"),
35
            os.path.join(test_dir, "data", "Dataset", "COTC007B-extent_of_disease.txt"),
36
            os.path.join(test_dir, "data", "Dataset", "COTC007B-physical_exam.txt"),
37
            os.path.join(test_dir, "data", "Dataset", "COTC007B-principal_investigator.txt"),
38
            os.path.join(test_dir, "data", "Dataset", "COTC007B-prior_surgery.txt"),
39
            os.path.join(test_dir, "data", "Dataset", "COTC007B-study.txt"),
40
            os.path.join(test_dir, "data", "Dataset", "COTC007B-study_arm.txt"),
41
            os.path.join(test_dir, "data", "Dataset", "COTC007B-vital_signs.txt"),
42
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-blood_samples.txt"),
43
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-case.txt"),
44
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-demographic.txt"),
45
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-diagnosis.txt"),
46
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-enrollment.txt"),
47
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-normal_samples.txt"),
48
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-tumor_samples.txt"),
49
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_20170228-GSL-079A-PE-Breen-NCATS-MEL-Rep1-Lane3.tar-file_neo4j.txt"),
50
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep1-Lane1.tar-file_neo4j.txt"),
51
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep1-Lane2.tar-file_neo4j.txt"),
52
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep2-Lane1.tar-file_neo4j.txt"),
53
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep3-Lane1.tar-file_neo4j.txt"),
54
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep2-Lane2.tar-file_neo4j.txt"),
55
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep2-Lane3.tar-file_neo4j.txt"),
56
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep3-Lane2.tar-file_neo4j.txt"),
57
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep3-Lane3.tar-file_neo4j.txt"),
58
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_cohort_file.txt"),
59
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_path_report_file_neo4j.txt"),
60
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_study_file.txt")
61
        ]
62
        self.file_list_unique = [
×
63
            os.path.join(test_dir, "data", "Dataset", "COP-program.txt"),
64
            os.path.join(test_dir, "data", "Dataset", "COTC007B-case.txt"),
65
            os.path.join(test_dir, "data", "Dataset", "COTC007B-cohort.txt"),
66
            os.path.join(test_dir, "data", "Dataset", "COTC007B-cycle.txt"),
67
            os.path.join(test_dir, "data", "Dataset", "COTC007B-demographic.txt"),
68
            os.path.join(test_dir, "data", "Dataset", "COTC007B-diagnostic.txt"),
69
            os.path.join(test_dir, "data", "Dataset", "COTC007B-enrollment.txt"),
70
            os.path.join(test_dir, "data", "Dataset", "COTC007B-extent_of_disease.txt"),
71
            os.path.join(test_dir, "data", "Dataset", "COTC007B-physical_exam.txt"),
72
            os.path.join(test_dir, "data", "Dataset", "COTC007B-principal_investigator.txt"),
73
            os.path.join(test_dir, "data", "Dataset", "COTC007B-prior_surgery.txt"),
74
            os.path.join(test_dir, "data", "Dataset", "COTC007B-study.txt"),
75
            os.path.join(test_dir, "data", "Dataset", "COTC007B-study_arm.txt"),
76
            os.path.join(test_dir, "data", "Dataset", "COTC007B-vital_signs_unique.txt"),
77
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-blood_samples.txt"),
78
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-case.txt"),
79
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-demographic.txt"),
80
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-diagnosis.txt"),
81
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-enrollment.txt"),
82
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-normal_samples.txt"),
83
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01-tumor_samples.txt"),
84
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_20170228-GSL-079A-PE-Breen-NCATS-MEL-Rep1-Lane3.tar-file_neo4j.txt"),
85
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep1-Lane1.tar-file_neo4j.txt"),
86
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep1-Lane2.tar-file_neo4j.txt"),
87
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep2-Lane1.tar-file_neo4j.txt"),
88
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-076A-Breen-NCATS-MEL-Rep3-Lane1.tar-file_neo4j.txt"),
89
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep2-Lane2.tar-file_neo4j.txt"),
90
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep2-Lane3.tar-file_neo4j.txt"),
91
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep3-Lane2.tar-file_neo4j.txt"),
92
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_GSL-079A-Breen-NCATS-MEL-Rep3-Lane3.tar-file_neo4j.txt"),
93
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_cohort_file.txt"),
94
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_path_report_file_neo4j.txt"),
95
            os.path.join(test_dir, "data", "Dataset", "NCATS-COP01_study_file.txt")
96
        ]
97

98

99
    def test_load_detect_duplicate(self):
2✔
NEW
100
        test_dir = os.path.dirname(os.path.abspath(__file__))
×
NEW
101
        self.assertRaises(Exception, self.loader.load([os.path.join(test_dir, "data", "COTC007B", "COTC007B-vital_signs.txt")], True, False, 'new', True, 1))
×
102

103

104
    def test_reload_with_new_and_delete_cohorts(self):
2✔
105
        load_result = self.loader.load(self.file_list_unique, True, False, 'new', True, 1)
×
106
        self.assertIsInstance(load_result, dict, msg='Load data failed!')
×
107
        self.assertEqual(1832, load_result[NODES_CREATED])
×
108
        self.assertEqual(1974, load_result[RELATIONSHIP_CREATED])
×
NEW
109
        test_dir = os.path.dirname(os.path.abspath(__file__))
×
NEW
110
        result = self.loader.load([os.path.join(test_dir, 'data', 'Dataset', 'COTC007B-cohort.txt')], True, False, 'delete', False, 1)
×
111
        self.assertEqual(result[NODES_DELETED], 18)
×
112
        self.assertEqual(result[RELATIONSHIP_DELETED], 101)
×
113

114
    def test_reload_with_new_and_delete_study(self):
2✔
115
        load_result = self.loader.load(self.file_list_unique, True, False, 'new', True, 1)
×
116
        self.assertIsInstance(load_result, dict, msg='Load data failed!')
×
117
        self.assertEqual(1832, load_result[NODES_CREATED])
×
118
        self.assertEqual(1974, load_result[RELATIONSHIP_CREATED])
×
NEW
119
        test_dir = os.path.dirname(os.path.abspath(__file__))
×
NEW
120
        result = self.loader.load([os.path.join(test_dir, 'data', 'Dataset', 'COTC007B-study.txt')], True, False, 'delete', False, 1)
×
121
        self.assertEqual(result[NODES_DELETED], 1118)
×
122
        self.assertEqual(result[RELATIONSHIP_DELETED], 1201)
×
123

NEW
124
        result = self.loader.load([os.path.join(test_dir, 'data', 'Dataset', 'NCATS-COP01_study_file.txt')], True, False, 'delete', False, 1)
×
125
        self.assertEqual(result[NODES_DELETED], 713)
×
126
        self.assertEqual(result[RELATIONSHIP_DELETED], 773)
×
127

128
    def test_reload_with_new_and_delete_program(self):
2✔
129
        load_result = self.loader.load(self.file_list_unique, True, False, 'new', True, 1)
×
130
        self.assertIsInstance(load_result, dict, msg='Load data failed!')
×
131
        self.assertEqual(1832, load_result[NODES_CREATED])
×
132
        self.assertEqual(1974, load_result[RELATIONSHIP_CREATED])
×
NEW
133
        test_dir = os.path.dirname(os.path.abspath(__file__))
×
NEW
134
        result = self.loader.load([os.path.join(test_dir, 'data', 'Dataset', 'COP-program.txt')], True, False, 'delete', False, 1)
×
135
        self.assertEqual(result[NODES_DELETED], 1832)
×
136
        self.assertEqual(result[RELATIONSHIP_DELETED], 1974)
×
137

138

139
    def test_reload_upsert(self):
2✔
140
        load_result = self.loader.load(self.file_list, True, False, 'upsert', True, 1)
×
141
        self.assertIsInstance(load_result, dict, msg='Load data failed!')
×
142
        self.assertEqual(1832, load_result[NODES_CREATED])
×
143
        self.assertEqual(1974, load_result[RELATIONSHIP_CREATED])
×
144

145

146

147
if __name__ == '__main__':
2✔
148
    unittest.main()
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc