Skip to content

Commit ff1a368

Browse files
committed
Added more features to the mock server.
1 parent d014d47 commit ff1a368

1 file changed

Lines changed: 46 additions & 4 deletions

File tree

tests/mockserver.py

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ class MockServer(object):
44
def __init__(self, host=None, port=None, broken=True, ok=True,
55
broken_username=False):
66
self.valid = "test"
7+
self.valid_desc = '"Test UPS 1"'
78
self.broken = broken
89
self.ok = ok
910
self.broken_username = broken_username
@@ -33,7 +34,7 @@ def run_command(self):
3334
self.first = False
3435
return 'BEGIN LIST UPS\n'
3536
elif self.command == "LIST UPS\n":
36-
return 'UPS '+self.valid+'"Test UPS 1"\nUPS Test_UPS2 "Test UPS 2"\nEND LIST UPS\n'
37+
return 'UPS '+self.valid+' '+self.valid_desc+'\nUPS Test_UPS2 "Test UPS 2"\nEND LIST UPS\n'
3738
elif self.command == "LIST VAR %s\n" % self.valid and self.first:
3839
self.first = False
3940
return 'BEGIN LIST VAR '+self.valid+'\n'
@@ -62,7 +63,18 @@ def run_command(self):
6263
return 'CLIENT '+self.valid+' '+self.valid+'\nEND LIST CLIENTS\n'
6364
elif self.command.startswith("LIST CLIENTS"):
6465
return 'ERR INVALID-ARGUMENT\n'
65-
# TODO: SET commands
66+
elif self.command == "LIST ENUM %s %s\n" % (self.valid, self.valid) and self.first:
67+
self.first = False
68+
return 'BEGIN LIST ENUM %s %s\n' (self.valid, self.valid)
69+
elif self.command == "LIST ENUM %s %s\n" % (self.valid, self.valid):
70+
return 'ENUM %s %s %s\nEND LIST ENUM %s %s\n' % (self.valid,
71+
self.valid, self.valid_desc, self.valid, self.valid)
72+
elif self.command == "LIST RANGE %s %s\n" % (self.valid, self.valid) and self.first:
73+
self.first = False
74+
return 'BEGIN LIST RANGE %s %s\n' (self.valid, self.valid)
75+
elif self.command == "LIST RANGE %s %s\n" % (self.valid, self.valid):
76+
return 'RANGE %s %s %s %s\nEND LIST RANGE %s %s\n' % (self.valid,
77+
self.valid, self.valid_desc, self.valid_desc, self.valid, self.valid)
6678
elif self.command == "SET VAR %s %s %s\n" % (self.valid, self.valid, self.valid):
6779
return 'OK\n'
6880
elif self.command.startswith("SET"):
@@ -75,11 +87,11 @@ def run_command(self):
7587
elif self.command == "USERNAME %s\n" % self.valid:
7688
return 'OK\n'
7789
elif self.command.startswith("USERNAME"):
78-
return 'OK\n' # FIXME
90+
return 'ERR\n' # FIXME: What does it say on invalid password?
7991
elif self.command == "PASSWORD %s\n" % self.valid:
8092
return 'OK\n'
8193
elif self.command.startswith("PASSWORD"):
82-
return 'OK\n' # FIXME
94+
return 'ERR\n' # FIXME: ^
8395
elif self.command == "STARTTLS\n":
8496
return 'ERR FEATURE-NOT-CONFIGURED\n'
8597
elif self.command == "MASTER %s\n" % self.valid:
@@ -88,5 +100,35 @@ def run_command(self):
88100
return 'OK FSD-SET\n'
89101
elif self.command == "FSD %s\n" % self.valid:
90102
return 'ERR\n'
103+
elif self.command == "GET NUMLOGINS %s\n" % self.valid:
104+
return 'NUMLOGINS %s 1\n' % self.valid
105+
elif self.command.startswith("GET NUMLOGINS"):
106+
return 'ERR UNKNOWN-UPS\n'
107+
elif self.command == "GET UPSDESC %s\n" % self.valid:
108+
return 'UPSDESC %s %s\n' % (self.valid, self.valid_desc)
109+
elif self.command.startswith("GET UPSDESC"):
110+
return 'ERR UNKNOWN-UPS\n'
111+
elif self.command == "GET VAR %s %s\n" % (self.valid, self.valid):
112+
return 'VAR %s %s "100"\n' % (self.valid, self.valid)
113+
elif self.command.startswith("GET VAR %s" % self.valid):
114+
return 'ERR VAR-NOT-SUPPORTED\n'
115+
elif self.command.startswith("GET VAR "):
116+
return 'ERR UNKNOWN-UPS\n'
117+
elif self.command.startswith("GET VAR"):
118+
return 'ERR INVALID-ARGUMENT\n'
119+
elif self.command == "GET TYPE %s %s\n" % (self.valid, self.valid):
120+
return 'TYPE %s %s RW STRING:3\n' % (self.valid, self.valid)
121+
elif self.command.startswith("GET TYPE %s" % self.valid):
122+
return 'ERR VAR-NOT-SUPPORTED\n'
123+
elif self.command.startswith("GET TYPE"):
124+
return 'ERR INVALID-ARGUMENT\n'
125+
elif self.command == "GET DESC %s %s\n" % (self.valid, self.valid):
126+
return 'DESC %s %s %s\n' % (self.valid, self.valid, self.valid_desc)
127+
elif self.command.startswith("GET DESC"):
128+
return 'ERR-INVALID-ARGUMENT\n'
129+
elif self.command == "GET CMDDESC %s %s" % (self.valid, self.valid):
130+
return 'CMDDESC %s %s %s\n' % (self.valid, self.valid, self.valid_desc)
131+
elif self.command.startswith("GET CMDDESC"):
132+
return 'ERR INVALID-ARGUMENT'
91133
else:
92134
return 'ERR UNKNOWN-COMMAND\n'

0 commit comments

Comments
 (0)