A web scraper build to search specific information for a given compound (and its pseudonyms)
1import unittest
2import ConfigParser
3
4from utils.configurator import Configurator
5
6
7class TestConfigurator(unittest.TestCase):
8
9 def setUp(self):
10 self.conf = Configurator()
11
12 def test_set_output(self):
13 self.conf.set_output(filename="test.txt", fileformat="csv", compound="test")
14 self.assertEqual(self.conf.scrapy_settings["FEED_URI"], "test.txt")
15 self.assertEqual(self.conf.scrapy_settings["FEED_FORMAT"], "csv")
16
17 self.conf.set_output("<compound>.*format*", "jsonlines", "test")
18 self.assertEqual(self.conf.scrapy_settings["FEED_URI"], "test.json")
19 self.assertEqual(self.conf.scrapy_settings["FEED_FORMAT"], "jsonlines")
20
21 self.conf.set_output("<compound>.*format*", "csv", "test")
22 self.assertEqual(self.conf.scrapy_settings["FEED_URI"], "test.csv")
23 self.assertEqual(self.conf.scrapy_settings["FEED_FORMAT"], "csv")
24
25 def test_start_log(self):
26 for i in range(0, 3):
27 self.conf.set_logging("TEST", i)
28 self.assertEqual(self.conf.scrapy_settings.get("LOG_FILE"), "TEST")
29 if i > 0:
30 self.assertEqual(self.conf.scrapy_settings.get("LOG_ENABLED"), True)
31 if i > 1:
32 self.assertEqual(self.conf.scrapy_settings.get("LOG_STDOUT"), False)
33 else:
34 self.assertEqual(self.conf.scrapy_settings.get("LOG_STDOUT"), True)
35 else:
36 self.assertEqual(self.conf.scrapy_settings.get("LOG_ENABLED"), False)
37 self.assertEqual(self.conf.scrapy_settings.get("LOG_STDOUT"), True)
38 if i == 1:
39 self.assertEqual(self.conf.scrapy_settings.get("LOG_LEVEL"), "WARNING")
40 elif i == 2:
41 self.assertEqual(self.conf.scrapy_settings.get("LOG_LEVEL"), "INFO")
42 elif i == 3:
43 self.assertEqual(self.conf.scrapy_settings.get("LOG_LEVEL"), "DEBUG")
44
45 self.conf.set_logging(verbose=i)
46 self.assertEqual(self.conf.scrapy_settings.get("LOG_FILE"), None)
47
48 def test_read_sourceconfiguration(self):
49 config = self.conf.read_sourceconfiguration()
50 self.assertIsInstance(config, ConfigParser.ConfigParser)
51
52 def test_get_section(self):
53 config = ConfigParser.ConfigParser()
54 section = self.conf.get_section(config, 'test')
55 self.assertIn('reliability', section)
56 self.assertEquals(section['reliability'], '')
57
58 config.set('DEFAULT', 'reliability', 'Low')
59
60 section = self.conf.get_section(config, 'test')
61 self.assertEquals(section['reliability'], 'Low')
62
63 config.add_section('test')
64 config.set('test', 'var', 'Maybe')
65
66 section = self.conf.get_section(config, 'test')
67 self.assertEquals(section['reliability'], 'Low')
68 self.assertEqual(section['var'], 'Maybe')