Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
routersploit
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
czos-dpend
routersploit
Commits
2f5b30af
Commit
2f5b30af
authored
Jun 30, 2016
by
fwkz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding command_setg tests
parent
a4a8b06b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
3 deletions
+49
-3
test_interpreter.py
routersploit/test/test_interpreter.py
+49
-3
No files found.
routersploit/test/test_interpreter.py
View file @
2f5b30af
...
...
@@ -6,10 +6,16 @@ try:
except
ImportError
:
import
mock
from
routersploit.interpreter
import
RoutersploitInterpreter
from
routersploit.exploits
import
Exploit
,
Option
from
routersploit.interpreter
import
RoutersploitInterpreter
,
GLOBAL_OPTS
from
routersploit.test
import
RoutersploitTestCase
class
TestExploitFoo
(
Exploit
):
doo
=
Option
(
default
=
1
,
description
=
"description_one"
)
paa
=
Option
(
default
=
2
,
description
=
"description_two"
)
class
RoutersploitInterpreterTest
(
RoutersploitTestCase
):
def
setUp
(
self
):
...
...
@@ -51,8 +57,14 @@ class RoutersploitInterpreterTest(RoutersploitTestCase):
self
.
interpreter
.
command_set
(
'rhost {}'
.
format
(
new_rhost_value
))
self
.
interpreter
.
command_set
(
'port {}'
.
format
(
new_port_value
))
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
rhost
,
new_rhost_value
)
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
port
,
new_port_value
)
with
self
.
assertRaises
(
KeyError
):
self
.
assertNotEqual
(
GLOBAL_OPTS
[
'rhost'
],
new_rhost_value
)
self
.
assertNotEqual
(
GLOBAL_OPTS
[
'port'
],
new_port_value
)
self
.
assertEqual
(
mock_print_success
.
mock_calls
,
[
mock
.
call
({
'rhost'
:
new_rhost_value
}),
mock
.
call
({
'port'
:
new_port_value
})]
...
...
@@ -72,6 +84,40 @@ class RoutersploitInterpreterTest(RoutersploitTestCase):
[
mock
.
call
(
"You can't set option '{}'.
\n
Available options: {}"
.
format
(
unknown_option
,
known_options
))]
)
@mock.patch
(
'routersploit.utils.print_success'
)
def
test_command_set_global
(
self
,
mock_print_success
):
rhost
,
new_rhost_value
=
'rhost_value'
,
"new_rhost_value"
port
,
new_port_value
=
'port_value'
,
"new_port_value"
self
.
interpreter
.
current_module
.
options
=
[
'rhost'
,
'port'
]
self
.
interpreter
.
current_module
.
rhost
=
rhost
self
.
interpreter
.
current_module
.
port
=
port
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
rhost
,
rhost
)
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
port
,
port
)
self
.
interpreter
.
command_set
(
'rhost {}'
.
format
(
new_rhost_value
),
glob
=
True
)
self
.
interpreter
.
command_set
(
'port {}'
.
format
(
new_port_value
),
glob
=
True
)
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
rhost
,
new_rhost_value
)
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
port
,
new_port_value
)
self
.
assertEqual
(
GLOBAL_OPTS
[
'rhost'
],
new_rhost_value
)
self
.
assertEqual
(
GLOBAL_OPTS
[
'port'
],
new_port_value
)
self
.
assertEqual
(
mock_print_success
.
mock_calls
,
[
mock
.
call
({
'rhost'
:
new_rhost_value
}),
mock
.
call
({
'port'
:
new_port_value
})]
)
def
test_command_setg
(
self
):
target
,
new_target_value
=
'target_value'
,
"new_target_value"
self
.
interpreter
.
current_module
.
options
=
[
'target'
,
'port'
]
self
.
interpreter
.
current_module
.
target
=
target
self
.
interpreter
.
command_setg
(
'target {}'
.
format
(
new_target_value
))
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
target
,
new_target_value
)
self
.
interpreter
.
current_module
=
TestExploitFoo
()
self
.
assertEqual
(
self
.
interpreter
.
current_module
.
target
,
new_target_value
)
def
test_command_run
(
self
):
with
mock
.
patch
.
object
(
self
.
interpreter
.
current_module
,
'run'
)
as
mock_run
:
self
.
interpreter
.
command_run
()
...
...
@@ -186,8 +232,8 @@ class RoutersploitInterpreterTest(RoutersploitTestCase):
def
test_suggested_commands_with_loaded_module
(
self
):
self
.
assertEqual
(
self
.
interpreter
.
suggested_commands
(
),
[
'run'
,
'back'
,
'set '
,
'setg '
,
'show '
,
'check'
,
'exec '
,
'help'
,
'exit'
]
# Extra space at the end because of following param
list
(
self
.
interpreter
.
suggested_commands
()
),
[
'run'
,
'back'
,
'set '
,
'setg '
,
'show '
,
'check'
,
'exec '
,
'help'
,
'exit'
,
'unsetg '
]
# Extra space at the end because of following param
)
def
test_suggested_commands_without_loaded_module
(
self
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment