File: __init__.py

package info (click to toggle)
python-scrapy 0.8-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 2,904 kB
  • ctags: 2,981
  • sloc: python: 15,349; xml: 199; makefile: 68; sql: 64; sh: 34
file content (48 lines) | stat: -rw-r--r-- 1,972 bytes parent folder | download
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
42
43
44
45
46
47
48
import sys
import os
from subprocess import Popen, PIPE
import unittest

import scrapy

class CmdlineTest(unittest.TestCase):

    def setUp(self):
        self.env = os.environ.copy()
        self.env['PYTHONPATH'] = os.path.dirname(scrapy.__path__[0])
        self.env.pop('SCRAPY_SETTINGS_DISABLED', None)
        self.env['SCRAPY_SETTINGS_MODULE'] = 'scrapy.tests.test_cmdline.settings'

    def _execute(self, *new_args, **kwargs):
        args = (sys.executable, '-m', 'scrapy.command.cmdline') + new_args
        proc = Popen(args, stdout=PIPE, stderr=PIPE, env=self.env, **kwargs)
        comm = proc.communicate()
        return comm[0].strip()

    def test_default_settings(self):
        self.assertEqual(self._execute('settings', '--get', 'TEST1', '--init'), \
            'default')
        self.assertEqual(self._execute('settings', '--get', 'TEST1'), \
            'default + loaded + started')

    def test_override_settings_using_settings_arg(self):
        self.assertEqual(self._execute('settings', '--get', 'TEST1', '--init', \
            '--settings', 'scrapy.tests.test_cmdline.settings2'), \
            'override')
        self.assertEqual(self._execute('settings', '--get', 'TEST1', \
            '--settings', 'scrapy.tests.test_cmdline.settings2'), \
            'override + loaded + started')

    def test_override_settings_using_set_arg(self):
        self.assertEqual(self._execute('settings', '--get', 'TEST1', '--init', '--set', 'TEST1=override'), \
            'override')
        self.assertEqual(self._execute('settings', '--get', 'TEST1', '--set', 'TEST1=override'), \
            'override + loaded + started')

    def test_override_settings_using_envvar(self):
        self.env['SCRAPY_TEST1'] = 'override'
        self.assertEqual(self._execute('settings', '--get', 'TEST1', '--init'), \
            'override')
        self.assertEqual(self._execute('settings', '--get', 'TEST1'), \
            'override + loaded + started')