etwist/test/unittest_server.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 24 Sep 2015 12:18:00 +0200
changeset 10916 8e504786df3c
parent 9779 3f1685ac2f16
permissions -rw-r--r--
[hooks/syncschema] Turn DropColumnOp into a data operation While writing a test for a migration issue where "NOT NULL" was added to an inlined relation column, I ran into a case where the same column was deleted twice, which of course results in an error. This is because the "ecrit_par" relation used by the test is ambiguous. I've hence turned the DropColumnOp into a data operation to ensure we'll delete the column only once in such case. Related to #6211101

# copyright 2003-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of CubicWeb.
#
# CubicWeb 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 2.1 of the License, or (at your option)
# any later version.
#
# CubicWeb 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 CubicWeb.  If not, see <http://www.gnu.org/licenses/>.

import os, os.path as osp, glob
import urllib

from cubicweb.devtools.httptest import CubicWebServerTC


class ETwistHTTPTC(CubicWebServerTC):
    def test_put_content(self):
        data = {'hip': 'hop'}
        headers = {'Content-Type': 'application/x-www-form-urlencoded'}
        body = urllib.urlencode(data)
        response = self.web_request('?vid=put', method='PUT', body=body)
        self.assertEqual(body, response.body)
        response = self.web_request('?vid=put', method='POST', body=body,
                                    headers=headers)
        self.assertEqual(body, response.body)

if __name__ == '__main__':
    from logilab.common.testlib import unittest_main
    unittest_main()