author | Rémi Cardona <remi.cardona@logilab.fr> |
Tue, 15 Dec 2015 14:12:59 +0100 | |
changeset 10981 | 45bc791275b4 |
parent 10721 | e9abbaa835f5 |
permissions | -rw-r--r-- |
9639
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
1 |
# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
5421
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
2 |
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
3 |
# |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
4 |
# This file is part of CubicWeb. |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
5 |
# |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
6 |
# CubicWeb is free software: you can redistribute it and/or modify it under the |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
7 |
# terms of the GNU Lesser General Public License as published by the Free |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
8 |
# Software Foundation, either version 2.1 of the License, or (at your option) |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
9 |
# any later version. |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
10 |
# |
5424
8ecbcbff9777
replace logilab-common by CubicWeb in disclaimer
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
5421
diff
changeset
|
11 |
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT |
5421
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
12 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
13 |
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
14 |
# details. |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
15 |
# |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
16 |
# You should have received a copy of the GNU Lesser General Public License along |
8167de96c523
proper licensing information (LGPL-2.1). Hope I get it right this time.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
17 |
# with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
0 | 18 |
import sys |
19 |
import os |
|
6631
26c303c3f1aa
[test] make test independant from the working directory
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6197
diff
changeset
|
20 |
from os.path import join |
10721
e9abbaa835f5
[tests] Port unittest_cwctl to py3k
Rémi Cardona <remi.cardona@logilab.fr>
parents:
10600
diff
changeset
|
21 |
from io import StringIO, BytesIO |
e9abbaa835f5
[tests] Port unittest_cwctl to py3k
Rémi Cardona <remi.cardona@logilab.fr>
parents:
10600
diff
changeset
|
22 |
|
e9abbaa835f5
[tests] Port unittest_cwctl to py3k
Rémi Cardona <remi.cardona@logilab.fr>
parents:
10600
diff
changeset
|
23 |
from six import PY2 |
e9abbaa835f5
[tests] Port unittest_cwctl to py3k
Rémi Cardona <remi.cardona@logilab.fr>
parents:
10600
diff
changeset
|
24 |
|
0 | 25 |
from logilab.common.testlib import TestCase, unittest_main |
26 |
||
27 |
from cubicweb.cwconfig import CubicWebConfiguration |
|
5430
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
28 |
from cubicweb.devtools.testlib import CubicWebTC |
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
29 |
from cubicweb.server.migractions import ServerMigrationHelper |
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
30 |
|
5021
58e89f3dfbae
handle nicely typical installation other than debian package / mercurial forest
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
4212
diff
changeset
|
31 |
CubicWebConfiguration.load_cwctl_plugins() # XXX necessary? |
0 | 32 |
|
5430
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
33 |
|
0 | 34 |
class CubicWebCtlTC(TestCase): |
35 |
def setUp(self): |
|
10721
e9abbaa835f5
[tests] Port unittest_cwctl to py3k
Rémi Cardona <remi.cardona@logilab.fr>
parents:
10600
diff
changeset
|
36 |
self.stream = BytesIO() if PY2 else StringIO() |
0 | 37 |
sys.stdout = self.stream |
38 |
def tearDown(self): |
|
39 |
sys.stdout = sys.__stdout__ |
|
1802
d628defebc17
delete-trailing-whitespace + some copyright update
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
0
diff
changeset
|
40 |
|
0 | 41 |
def test_list(self): |
42 |
from cubicweb.cwctl import ListCommand |
|
6197
d8f0dce0b86d
[test] fixes to follow recent changes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
5436
diff
changeset
|
43 |
ListCommand(None).run([]) |
1802
d628defebc17
delete-trailing-whitespace + some copyright update
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
0
diff
changeset
|
44 |
|
5430
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
45 |
|
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
46 |
class CubicWebShellTC(CubicWebTC): |
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
47 |
|
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
48 |
def test_process_script_args_context(self): |
9639
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
49 |
repo = self.repo |
10353
d9a1e7939ee6
[migractions] remove any session related leftovers
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents:
9639
diff
changeset
|
50 |
with self.admin_access.repo_cnx() as cnx: |
9639
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
51 |
mih = ServerMigrationHelper(None, repo=repo, cnx=cnx, |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
52 |
interactive=False, |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
53 |
# hack so it don't try to load fs schema |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
54 |
schema=1) |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
55 |
scripts = {'script1.py': list(), |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
56 |
'script2.py': ['-v'], |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
57 |
'script3.py': ['-vd', '-f', 'FILE.TXT'], |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
58 |
} |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
59 |
mih.cmd_process_script(join(self.datadir, 'scripts', 'script1.py'), |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
60 |
funcname=None) |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
61 |
for script, args in scripts.items(): |
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
62 |
scriptname = os.path.join(self.datadir, 'scripts', script) |
10600
180aa08cad48
[tests] Replace use of deprecated TestCase.assert_
Rémi Cardona <remi.cardona@logilab.fr>
parents:
10353
diff
changeset
|
63 |
self.assertTrue(os.path.exists(scriptname)) |
9639
74b3db5bb41d
[test] silence warnings for unittest_cwctl by upgrading to new 3.19 API
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6632
diff
changeset
|
64 |
mih.cmd_process_script(scriptname, None, scriptargs=args) |
5430
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
65 |
|
ed8f71e244f8
[shell] #715938: support of script parameters (using standard '--' as arguments separator)
Julien Jehannet <julien.jehannet@logilab.fr>
parents:
5426
diff
changeset
|
66 |
|
0 | 67 |
if __name__ == '__main__': |
68 |
unittest_main() |