| OLD | NEW |
| (Empty) | |
| 1 #!/usr/bin/env python |
| 2 # Copyright 2016 The LUCI Authors. All rights reserved. |
| 3 # Use of this source code is governed under the Apache License, Version 2.0 |
| 4 # that can be found in the LICENSE file. |
| 5 |
| 6 import sys |
| 7 import unittest |
| 8 |
| 9 from test_support import test_env |
| 10 test_env.setup_test_env() |
| 11 |
| 12 from protorpc import messages |
| 13 from protorpc import remote |
| 14 import endpoints |
| 15 import webapp2 |
| 16 |
| 17 from test_support import test_case |
| 18 import endpoints_webapp2 |
| 19 |
| 20 |
| 21 class Msg(messages.Message): |
| 22 s = messages.StringField(1) |
| 23 s2 = messages.StringField(2) |
| 24 |
| 25 |
| 26 @endpoints.api('Service', 'v1') |
| 27 class EndpointsService(remote.Service): |
| 28 |
| 29 @endpoints.method(Msg, Msg) |
| 30 def post(self, _request): |
| 31 return Msg() |
| 32 |
| 33 @endpoints.method(Msg, Msg, http_method='GET') |
| 34 def get(self, _request): |
| 35 return Msg() |
| 36 |
| 37 |
| 38 class EndpointsWebapp2TestCase(test_case.TestCase): |
| 39 def test_decode_message_post(self): |
| 40 request = webapp2.Request( |
| 41 { |
| 42 'QUERY_STRING': 's2=b', |
| 43 }, |
| 44 method='POST', |
| 45 body='{"s": "a"}', |
| 46 ) |
| 47 msg = endpoints_webapp2.decode_message( |
| 48 EndpointsService.post.remote, request) |
| 49 self.assertEqual(msg.s, 'a') |
| 50 self.assertEqual(msg.s2, None) # because it is not a ResourceContainer. |
| 51 |
| 52 def test_decode_message_get(self): |
| 53 request = webapp2.Request( |
| 54 { |
| 55 'QUERY_STRING': 's=a', |
| 56 }, |
| 57 method='GET', |
| 58 route_kwargs={'s2': 'b'}, |
| 59 ) |
| 60 msg = endpoints_webapp2.decode_message(EndpointsService.get.remote, request) |
| 61 self.assertEqual(msg.s, 'a') |
| 62 self.assertEqual(msg.s2, 'b') |
| 63 |
| 64 |
| 65 if __name__ == '__main__': |
| 66 if '-v' in sys.argv: |
| 67 unittest.TestCase.maxDiff = None |
| 68 unittest.main() |
| OLD | NEW |