author | Denis Laxalde <denis.laxalde@logilab.fr> |
Mon, 21 Nov 2016 14:18:43 +0100 | |
branch | 3.24 |
changeset 11849 | 882bd17344c2 |
parent 11476 | a9f26de5ea6c |
permissions | -rw-r--r-- |
9740
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
1 |
# copyright 2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
2 |
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
3 |
# |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
4 |
# This file is part of CubicWeb. |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
5 |
# |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
6 |
# CubicWeb is free software: you can redistribute it and/or modify it under the |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
7 |
# terms of the GNU Lesser General Public License as published by the Free |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
8 |
# Software Foundation, either version 2.1 of the License, or (at your option) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
9 |
# any later version. |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
10 |
# |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
11 |
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
13 |
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
14 |
# details. |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
15 |
# |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
16 |
# You should have received a copy of the GNU Lesser General Public License along |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
17 |
# with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
18 |
|
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
19 |
|
11476
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
20 |
import os |
11452
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
21 |
import tempfile |
11451
ae58ba20418c
[test] Use plain unittest in unittest_toolsutils
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11057
diff
changeset
|
22 |
import unittest |
9740
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
23 |
|
11476
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
24 |
from cubicweb.toolsutils import (RQLExecuteMatcher, option_value_from_env, |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
25 |
read_config) |
9740
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
26 |
|
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
27 |
|
11451
ae58ba20418c
[test] Use plain unittest in unittest_toolsutils
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11057
diff
changeset
|
28 |
class RQLExecuteMatcherTests(unittest.TestCase): |
9740
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
29 |
def matched_query(self, text): |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
30 |
match = RQLExecuteMatcher.match(text) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
31 |
if match is None: |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
32 |
return None |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
33 |
return match['rql_query'] |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
34 |
|
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
35 |
def test_unknown_function_dont_match(self): |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
36 |
self.assertIsNone(self.matched_query('foo')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
37 |
self.assertIsNone(self.matched_query('rql(')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
38 |
self.assertIsNone(self.matched_query('hell("")')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
39 |
self.assertIsNone(self.matched_query('eval("rql(\'bla\'')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
40 |
|
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
41 |
def test_rql_other_parameters_dont_match(self): |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
42 |
self.assertIsNone(self.matched_query('rql("Any X WHERE X eid %(x)s")')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
43 |
self.assertIsNone(self.matched_query('rql("Any X WHERE X eid %(x)s", {')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
44 |
self.assertIsNone(self.matched_query('session.execute("Any X WHERE X eid %(x)s")')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
45 |
self.assertIsNone(self.matched_query('session.execute("Any X WHERE X eid %(x)s", {')) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
46 |
|
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
47 |
def test_rql_function_match(self): |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
48 |
for func_expr in ('rql', 'session.execute'): |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
49 |
query = self.matched_query('%s("Any X WHERE X is ' % func_expr) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
50 |
self.assertEqual(query, 'Any X WHERE X is ') |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
51 |
|
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
52 |
def test_offseted_rql_function_match(self): |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
53 |
"""check indentation is allowed""" |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
54 |
for func_expr in (' rql', ' session.execute'): |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
55 |
query = self.matched_query('%s("Any X WHERE X is ' % func_expr) |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
56 |
self.assertEqual(query, 'Any X WHERE X is ') |
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
57 |
|
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
58 |
|
11452
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
59 |
SOURCES_CONTENT = b""" |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
60 |
[admin] |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
61 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
62 |
# cubicweb manager account's login (this user will be created) |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
63 |
login=admin |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
64 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
65 |
# cubicweb manager account's password |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
66 |
password=admin |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
67 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
68 |
[system] |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
69 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
70 |
# database driver (postgres, sqlite, sqlserver2005) |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
71 |
db-driver=postgres |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
72 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
73 |
# database host |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
74 |
db-host= |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
75 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
76 |
# database port |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
77 |
db-port= |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
78 |
""" |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
79 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
80 |
|
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
81 |
class ToolsUtilsTC(unittest.TestCase): |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
82 |
|
11476
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
83 |
def test_option_value_from_env(self): |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
84 |
os.environ['CW_DB_HOST'] = 'here' |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
85 |
try: |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
86 |
self.assertEqual(option_value_from_env('db-host'), 'here') |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
87 |
self.assertEqual(option_value_from_env('db-host', 'nothere'), 'here') |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
88 |
self.assertEqual(option_value_from_env('db-hots', 'nothere'), 'nothere') |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
89 |
finally: |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
90 |
del os.environ['CW_DB_HOST'] |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
91 |
|
11452
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
92 |
def test_read_config(self): |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
93 |
with tempfile.NamedTemporaryFile() as f: |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
94 |
f.write(SOURCES_CONTENT) |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
95 |
f.seek(0) |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
96 |
config = read_config(f.name) |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
97 |
expected = { |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
98 |
'admin': { |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
99 |
'password': 'admin', |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
100 |
'login': 'admin', |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
101 |
}, |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
102 |
'system': { |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
103 |
'db-port': None, |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
104 |
'db-driver': 'postgres', |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
105 |
'db-host': None, |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
106 |
}, |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
107 |
} |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
108 |
self.assertEqual(config, expected) |
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
109 |
|
11476
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
110 |
def test_read_config_env(self): |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
111 |
os.environ['CW_DB_HOST'] = 'here' |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
112 |
try: |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
113 |
with tempfile.NamedTemporaryFile() as f: |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
114 |
f.write(SOURCES_CONTENT) |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
115 |
f.seek(0) |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
116 |
config = read_config(f.name) |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
117 |
finally: |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
118 |
del os.environ['CW_DB_HOST'] |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
119 |
self.assertEqual(config['system']['db-host'], 'here') |
a9f26de5ea6c
Let configuration option be overridden by environment variables
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11452
diff
changeset
|
120 |
|
11452
628dd5832495
[test] Add a test for toolsutils.read_config
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11451
diff
changeset
|
121 |
|
9740
c0239d8ae742
[shell] provide autocompletion for rql queries in cubicweb-ctl shell (closes #3560541)
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
122 |
if __name__ == '__main__': |
11451
ae58ba20418c
[test] Use plain unittest in unittest_toolsutils
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11057
diff
changeset
|
123 |
unittest.main() |