コード例 #1
0
    def test_handleRequest(self):
        blankResponse = self.testFrame.handleRequest(
            HTTP.Request({'requestHandler': ''}))
        assert blankResponse.content == '<html><body><div id="frame.content"></div></body></html>'
        assert blankResponse.status == HTTP.Response.Status.OK

        frameResponse = self.testFrame.handleRequest(
            HTTP.Request({'requestHandler': 'frame'}))
        assert frameResponse.content == '<html><body><div id="frame.content"></div></body></html>'
        assert frameResponse.status == HTTP.Response.Status.OK

        contentResponse = self.testFrame.handleRequest(
            HTTP.Request({'requestHandler': 'frame.content'}))
        assert contentResponse.content == '<data></data>'
        assert contentResponse.status == HTTP.Response.Status.OK

        contentResponse = self.testFrame.handleRequest(
            HTTP.Request({'requestHandler': 'frame.exceptionThrower'}))
        assert contentResponse.content.startswith(
            'Internal Server Error: Error')
        assert contentResponse.status == HTTP.Response.Status.INTERNAL_SERVER_ERROR

        badHandlerResponse = self.testFrame.handleRequest(
            HTTP.Request({'requestHandler': 'nonExistent'}))
        assert badHandlerResponse.content == 'Error: nonExistent was not found.'
        assert badHandlerResponse.status == HTTP.Response.Status.NOT_FOUND
コード例 #2
0
    def test_renderResponse(self):
        frameRequest = HTTP.Request()
        assert self.testFrame.renderResponse(
            frameRequest
        ) == '<html><body><div id="frame.content"></div></body></html>'
        assert frameRequest.response.status == HTTP.Response.Status.OK

        contentRequest = HTTP.Request()
        assert self.testFrame.content.renderResponse(contentRequest)
        assert contentRequest.response.status == HTTP.Response.Status.OK
コード例 #3
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_setCookie(self):
     testResponse = HTTP.Response("MyResponse")
     newCookie = testResponse.setCookie("myCookieName", "myCookieValue")
     assert len(testResponse.cookies) == 1
     assert testResponse.cookies["myCookieName"] == newCookie
     assert newCookie.key == "myCookieName"
     assert newCookie.value == "myCookieValue"
コード例 #4
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_create(self):
     basic = HTTP.Request()
     assert type(basic) == HTTP.Request
     assert type(basic.fields) == HTTP.FieldDict
     assert type(basic.meta) == HTTP.FieldDict
     assert type(basic.cookies) == HTTP.FieldDict
     assert type(basic.files) == HTTP.FieldDict
     assert type(basic.response) == HTTP.Response
コード例 #5
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_get(self):
     testResponse = HTTP.Response("MyResponse")
     testResponse['header'] = "value"
     assert testResponse['header'] == "value"
     assert testResponse.get('header') == "value"
     del testResponse['header']
     assert testResponse.get('header') == None
     assert testResponse.get('header', '') == ""
コード例 #6
0
    def test_setUIData(self):
        class MyElementControl(BasicElementControl):
            def setUIData(self, ui, request):
                ui.setText("New Text")

        myElementControl = MyElementControl()
        response = myElementControl.renderResponse(HTTP.Request())
        assert "New Text" in response
        assert not "This is a label" in response
コード例 #7
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
class TestFieldDict(object):
    """
        Tests all public instance methods of the FieldDict object
    """
    testDict = HTTP.FieldDict({
        'string': 'SOMETHING',
        'nonUniqueList': ["A", "B", "B"],
        'uniqueList': ["A", "B", "C"]
    })

    def test_create(self):
        basic = HTTP.FieldDict()
        assert type(basic) == HTTP.FieldDict
        assert isinstance(basic, dict)

    def test_get(self):
        assert self.testDict.get('string') == "SOMETHING"
        assert self.testDict.get('notSet') == ""
        assert self.testDict.get('nonUniqueList') == ["A", "B", "B"]
        assert self.testDict.get('uniqueList') == ["A", "B", "C"]

    def test_getSet(self):
        assert self.testDict.getSet('string') == set(["SOMETHING"])
        assert self.testDict.getSet('notSet') == set([])
        assert self.testDict.getSet('nonUniqueList') == set(["A", "B"])
        assert self.testDict.getSet('uniqueList') == set(["A", "B", "C"])

    def test_getList(self):
        assert self.testDict.getList('string') == ["SOMETHING"]
        assert self.testDict.getList('notSet') == []
        assert self.testDict.getList('nonUniqueList') == ["A", "B", "B"]
        assert self.testDict.getList('uniqueList') == ["A", "B", "C"]

    def test_first(self):
        assert self.testDict.first('string') == "SOMETHING"
        assert self.testDict.first('notSet') == ""
        assert self.testDict.first('nonUniqueList') == "A"
        assert self.testDict.first('uniqueList') == "A"

    def test_last(self):
        assert self.testDict.last('string') == "SOMETHING"
        assert self.testDict.last('notSet') == ""
        assert self.testDict.last('nonUniqueList') == "B"
        assert self.testDict.last('uniqueList') == "C"

    def test_subset(self):
        subset = self.testDict.subset(['nonUniqueList', 'uniqueList'])
        assert list(subset.keys()) == ['nonUniqueList', 'uniqueList']
        assert subset.get('string') == ""
        assert subset.get('notSet') == ""
        assert subset.get('nonUniqueList') == ["A", "B", "B"]
        assert subset.get('uniqueList') == ["A", "B", "C"]

    def test_queryString(self):
        assert self.testDict.queryString() == (
            "nonUniqueList=A&nonUniqueList=B&nonUniqueList=B&string=SOMETHING&"
            "uniqueList=A&uniqueList=B&uniqueList=C")
コード例 #8
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_serialize(self):
     testResponse = HTTP.Response(
         content="'hey'",
         contentType=HTTP.Response.ContentType.JSON,
         status=HTTP.Response.Status.NON_AUTHORITAVE)
     assert testResponse.serialize() == {
         'responseText': "'hey'",
         'contentType': HTTP.Response.ContentType.JSON,
         'status': HTTP.Response.Status.NON_AUTHORITAVE
     }
コード例 #9
0
    def test_initUI(self):
        class MyElementControl(BasicElementControl):
            def initUI(self, ui, request):
                ui += self.buildElement("label",
                                        properties={'text': 'New Text'})

        myElementControl = MyElementControl()
        response = myElementControl.renderResponse(HTTP.Request())
        assert "New Text" in response
        assert "This is a label" in response
コード例 #10
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
    def test_toDjangoResponse(self):
        class fakeDjangoResponse(HTTP.Response):
            def set_cookie(self, *args):
                self.setCookie(*args)

        testResponse = HTTP.Response("MyResponse")
        newCookie = testResponse.setCookie("myCookieName", "myCookieValue")
        testConvert = testResponse.toDjangoResponse(fakeDjangoResponse)
        assert type(testConvert) == fakeDjangoResponse
        assert len(testConvert.cookies) == 1
        assert testConvert.content == "MyResponse"
        assert testConvert.status == HTTP.Response.Status.OK
コード例 #11
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_create(self):
     cookie = HTTP.Cookie("TestCookie", "TestValue", None, None, '/', None,
                          False, False)
     assert type(cookie) == HTTP.Cookie
     assert cookie.key == "TestCookie"
     assert cookie.value == "TestValue"
     assert cookie.maxAge == None
     assert cookie.expires == None
     assert cookie.path == "/"
     assert cookie.domain == None
     assert cookie.secure == False
     assert cookie.httpOnly == False
コード例 #12
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
    def test_copy(self):
        firstRequest = HTTP.Request(fields={'field': 'data'}, method="POST")
        secondRequest = firstRequest.copy()
        assert type(secondRequest) == type(firstRequest)
        assert firstRequest != secondRequest
        assert secondRequest.method == "POST"
        assert secondRequest.fields['field'] == "data"

        #assert making a change to the copy does not effect the original
        secondRequest.method = "GET"
        secondRequest.fields['field'] = "newData"
        assert secondRequest.method == "GET"
        assert secondRequest.fields['field'] == "newData"
        assert firstRequest.method == "POST"
        assert firstRequest.fields['field'] == "data"
コード例 #13
0
    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 General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
'''

from DynamicForm.DynamicForm import DynamicForm
from DynamicForm import HTTP

blankRequest = HTTP.Request()


class TestDynamicForm(object):
    """
        Tests all publicly accessible methods of the DynamicForm object
    """
    testForm = DynamicForm()

    def test_create(self):
        assert (type(self.testForm) == DynamicForm)

    def test_modifyDocument(self):
        class FakeDynamicForm(DynamicForm):
            def modifyDocument(self, document, response):
                document.setProperty('title', "Heyyyy!")
コード例 #14
0
 def test_buildUI(self):
     assert type(self.testControl.buildUI(HTTP.Request())) == Label
     assert self.testControl.buildUI(
         HTTP.Request()).toHTML() in self.testControl.renderResponse(
             HTTP.Request())
コード例 #15
0
 def test_buildUI(self):
     ui = self.testControl.buildUI(HTTP.Request())
     assert isinstance(ui.label, Label)
     assert ui.label.text() == "TemplateLabel"
     assert ui.toHTML() in self.testControl.renderResponse(HTTP.Request())
コード例 #16
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_isAjax(self):
     assert HTTP.Request().isAjax() == False
     assert HTTP.Request(meta={
         'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest'
     }).isAjax() == True
コード例 #17
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_create(self):
     testResponse = HTTP.Response()
     assert type(testResponse) == HTTP.Response
     assert testResponse.content == ""
     assert testResponse.contentType == HTTP.Response.ContentType.HTML
     assert testResponse.status == HTTP.Response.Status.OK
コード例 #18
0
ファイル: test_HTTP.py プロジェクト: pombredanne/DynamicForm
 def test_create(self):
     basic = HTTP.FieldDict()
     assert type(basic) == HTTP.FieldDict
     assert isinstance(basic, dict)