def setUp(self):
     WeightlessTestCase.setUp(self)
     self.httpprotocol = HttpProtocol()
     self.server = Server(self.reactor, self.port)
     dna = (Transparant(),
         (self.server,
             (self.httpprotocol,
                 # add your test thing here
             )
         )
     )
     self.body = be(dna)
예제 #2
0
    def XXXXXXXXXXXXXXXXXXXtestOpenHttpWithTransactionOnConnectionScopeExample(
            self):
        class Transaction(Observable):
            def __init__(self, txmanagers):
                super(Transaction, self).__init__()
                self._txmanagers = txmanagers

            def unknown(self, message, *args, **kwargs):
                txs = []
                for txmanager in sefl._txmanagers:
                    tx = txmanager.begin()
                    txs.append(tx)
                try:
                    for response in self.all.unknown(message, *args, **kwargs):
                        yield response
                except:
                    for tx in txs:
                        tx.abort()
                else:
                    for tx in txs:
                        tx.commit()

        class MyDB(object):
            def begin(self):
                self._preparedData = []
                return self

            def store(self, data):
                self._preparedData.append(data)

            def commit(self):
                self.commitedData = ''.join(self._preparedData)
                self._preparedData = []

        class MyHandler(Observable):
            def upload(self, ContentLength, *args, **kwargs):
                body = yield readBytes(ContentLength)
                self.any.store(body)

        mydb = MyDB()
        reactor = Reactor()
        server = Server(reactor, 8080)
        pipe = be((
            Observable(),
            (
                server,
                (
                    Transaction(
                        [mydb]),  # Transaction commits when connection closes
                    (HttpProtocol(), (MyHandler(), (mydb, )))))))
        self.fail('continue here')
예제 #3
0
 def setUp(self):
     TestCase.setUp(self)
     self._timer = HttpProtocol.Timer
     HttpProtocol.Timer = MockTimer
     self.p = HttpProtocol()
예제 #4
0
#
# You should have received a copy of the GNU General Public License
# along with "Weightless"; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
## end license ##

from weightless.core import be
from weightless.io import Reactor, Server
from weightless.httpng import HttpProtocol, http


class HelloWorld(object):
    def processRequest(self, *args, **kwargs):
        yield http.ok()
        yield http.headers('Content-Length', 6)
        yield 'Hello!'


reactor = Reactor()

dna = \
    (Server(reactor, 8080),
        (HttpProtocol(),
            (HelloWorld(),)
        )
    )

server = be(dna)
reactor.loop()
예제 #5
0
 def setUp(self):
     self._timer = HttpProtocol.Timer
     HttpProtocol.Timer = MockTimer
     self.p = HttpProtocol()