Move ucsc_encode_submission code out of extra so nose will autodiscover it.
[htsworkflow.git] / encode_submission / test_encode_find.py
1 #!/usr/bin/env python
2 import os
3 import unittest
4
5 import RDF
6
7 import encode_find
8 from htsworkflow.submission.ucsc import submission_view_url
9 from htsworkflow.util.rdfhelp import dump_model, get_model
10
11 SOURCE_PATH = os.path.split(os.path.abspath(__file__))[0]
12 print SOURCE_PATH
13
14 class TestEncodeFind(unittest.TestCase):
15     def test_create_status_node_with_uri(self):
16         subURL = submission_view_url('5136')
17         submissionUri = RDF.Uri(subURL)
18         timestamp = '2011-12-19T12:42:53.048956'
19         manualUri = subURL + '/' + timestamp
20         nodeUri = encode_find.create_status_node(submissionUri, timestamp)
21         self.assertEqual(str(nodeUri.uri), manualUri)
22
23     def test_create_status_node_with_str(self):
24         subURL = submission_view_url('5136')
25         timestamp = '2011-12-19T12:42:53.048956'
26         manualUri = subURL + '/' + timestamp
27         nodeUri = encode_find.create_status_node(subURL, timestamp)
28         self.assertEqual(str(nodeUri.uri), manualUri)
29
30     def test_parse_submission_page(self):
31         timestamp = '2011-12-19T12:42:53.048956'
32         subURL = submission_view_url('5136')
33         subNode = encode_find.create_status_node(subURL, timestamp)
34         test_file = os.path.join(SOURCE_PATH, 'testdata', '5136SubDetail.html')
35         from lxml.html import parse
36         tree = parse(test_file)
37         model = get_model()
38         dates = encode_find.get_creation_dates(model, subNode)
39         self.assertEqual(len(dates), 0)
40         encode_find.parse_submission_page(model, tree, subNode)
41         dates = encode_find.get_creation_dates(model, subNode)
42         self.assertEqual(len(dates), 1)
43         self.assertEqual(str(dates[0].object), '2011-12-07T15:23:00')
44
45 def suite():
46     return unittest.makeSuite(TestEncodeFind, "test")
47
48 if __name__ == "__main__":
49     unittest.main(defaultTest="suite")