FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python-gitlab/gitlab/tests/test_cli.py at master · hungld/python-gitlab · GitHub
hungld
python-gitlab
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python-gitlab
/
gitlab
/
tests
/
test_cli.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
95 lines (79 loc) · 3.3 KB
Breadcrumbs
python-gitlab
/
gitlab
/
tests
/
test_cli.py
Copy path
File metadata and controls
95 lines (79 loc) · 3.3 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (C) 2016 Gauvain Pocentek <gauvain@pocentek.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from
__future__
import
print_function
from
__future__
import
absolute_import
import
argparse
import
six
try
:
import
unittest
except
ImportError
:
import
unittest2
as
unittest
from
gitlab
import
cli
class
TestCLI
(
unittest
.
TestCase
):
def
test_what_to_cls
(
self
):
self
.
assertEqual
(
"Foo"
,
cli
.
_what_to_cls
(
"foo"
))
self
.
assertEqual
(
"FooBar"
,
cli
.
_what_to_cls
(
"foo-bar"
))
def
test_cls_to_what
(
self
):
class
Class
(
object
):
pass
class
TestClass
(
object
):
pass
self
.
assertEqual
(
"test-class"
,
cli
.
_cls_to_what
(
TestClass
))
self
.
assertEqual
(
"class"
,
cli
.
_cls_to_what
(
Class
))
def
test_die
(
self
):
with
self
.
assertRaises
(
SystemExit
)
as
test
:
cli
.
_die
(
"foobar"
)
self
.
assertEqual
(
test
.
exception
.
code
,
1
)
def
test_extra_actions
(
self
):
for
cls
,
data
in
six
.
iteritems
(
cli
.
EXTRA_ACTIONS
):
for
key
in
data
:
self
.
assertIsInstance
(
data
[
key
],
dict
)
def
test_parsing
(
self
):
args
=
cli
.
_parse_args
([
'-v'
,
'-g'
,
'gl_id'
,
'-c'
,
'foo.cfg'
,
'-c'
,
'bar.cfg'
,
'project'
,
'list'
])
self
.
assertTrue
(
args
.
verbose
)
self
.
assertEqual
(
args
.
gitlab
,
'gl_id'
)
self
.
assertEqual
(
args
.
config_file
, [
'foo.cfg'
,
'bar.cfg'
])
self
.
assertEqual
(
args
.
what
,
'project'
)
self
.
assertEqual
(
args
.
action
,
'list'
)
def
test_parser
(
self
):
parser
=
cli
.
_build_parser
()
subparsers
=
None
for
action
in
parser
.
_actions
:
if
type
(
action
)
==
argparse
.
_SubParsersAction
:
subparsers
=
action
break
self
.
assertIsNotNone
(
subparsers
)
self
.
assertIn
(
'user'
,
subparsers
.
choices
)
user_subparsers
=
None
for
action
in
subparsers
.
choices
[
'user'
].
_actions
:
if
type
(
action
)
==
argparse
.
_SubParsersAction
:
user_subparsers
=
action
break
self
.
assertIsNotNone
(
user_subparsers
)
self
.
assertIn
(
'list'
,
user_subparsers
.
choices
)
self
.
assertIn
(
'get'
,
user_subparsers
.
choices
)
self
.
assertIn
(
'delete'
,
user_subparsers
.
choices
)
self
.
assertIn
(
'update'
,
user_subparsers
.
choices
)
self
.
assertIn
(
'create'
,
user_subparsers
.
choices
)
self
.
assertIn
(
'block'
,
user_subparsers
.
choices
)
self
.
assertIn
(
'unblock'
,
user_subparsers
.
choices
)
actions
=
user_subparsers
.
choices
[
'create'
].
_option_string_actions
self
.
assertFalse
(
actions
[
'--twitter'
].
required
)
self
.
assertTrue
(
actions
[
'--username'
].
required
)
Back
|
FazBrowse Home
|
New Git URL