diff options
Diffstat (limited to 'python/tests/websimulator.py')
| -rw-r--r-- | python/tests/websimulator.py | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/python/tests/websimulator.py b/python/tests/websimulator.py index f663623a..806b5dd5 100644 --- a/python/tests/websimulator.py +++ b/python/tests/websimulator.py @@ -43,6 +43,35 @@ class HttpRequest(object): webSite = self.client.internet.getWebSite(self.url) return webSite.doHttpRequest(self) + def getQueryBoolean(self, name, default = 'none'): + try: + fieldValue = self.getQueryField(name) + except KeyError: + if default == 'none': + raise + return default + return fieldValue.lower not in ('', '0', 'false') + + def getQuery(self): + splitedUrl = self.url.split('?', 1) + if len(splitedUrl) > 1: + return splitedUrl[1] + else: + return '' + + def getQueryField(self, name, default = 'none'): + query = self.query + if query: + for field in self.query.split('&'): + fieldName, fieldValue = field.split('=') + if name == fieldName: + return fieldValue + if default == 'none': + raise KeyError(name) + return default + + query = property(getQuery) + class HttpResponse(object): body = None @@ -195,9 +224,6 @@ class WebSite(WebClient, Simulation): method = getattr(self, methodName) return method(httpRequest) - def extractQueryFromUrl(self, url): - return url.split('?', 1)[1] - def getIdentityDump(self, principal): webSession = self.getWebSession(principal) webUser = self.getWebUserFromWebSession(webSession) |
