~didrocks/unity/altf10

« back to all changes in this revision

Viewing changes to grackle/tests/test_client.py

  • Committer: Curtis Hovey
  • Date: 2012-03-16 19:38:35 UTC
  • Revision ID: curtis.hovey@canonical.com-20120316193835-egu5tc1n0xlr5udj
Rename args to be honest about what is expected.

Show diffs side-by-side

added added

removed removed

Lines of Context:
133
133
        self.logger = logging.getLogger('http')
134
134
        BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
135
135
 
136
 
    def do_PUT(self):
137
 
        """Create an archive or message on PUT."""
 
136
    def do_POST(self):
 
137
        """Create a message on POST."""
138
138
        scheme, netloc, path, params, query_string, fragments = (
139
139
            urlparse(self.path))
140
140
        parts = path.split('/')
141
141
        if parts[1] != 'archive':
142
142
            # This is an unknonwn operation?
143
143
            return
144
 
        if len(parts) == 3:
145
 
            # This expected path is /archive/archive_id.
146
 
            try:
147
 
                self.server.store.put_archive(parts[2])
148
 
                self.send_response(httplib.CREATED)
149
 
                self.end_headers()
150
 
                self.wfile.close()
151
 
            except:
152
 
                self.send_error(httplib.BAD_REQUEST)
153
 
        if len(parts) == 4:
154
 
            # This expected path is /archive/archive_id/message_id.
155
 
            try:
156
 
                message = self.rfile.read(int(self.headers['content-length']))
 
144
        if 'content-length' in self.headers:
 
145
            operation = 'put_message'
 
146
        else:
 
147
            operation = 'hide_message'
 
148
        if operation == 'put_message':
 
149
            message = self.rfile.read(int(self.headers['content-length']))
 
150
            try:
 
151
                # This expected path is /archive/archive_id/message_id.
157
152
                self.server.store.put_message(parts[2], parts[3], message)
158
153
                self.send_response(httplib.CREATED)
159
154
                self.end_headers()
160
155
                self.wfile.close()
161
156
            except:
162
157
                self.send_error(httplib.BAD_REQUEST)
163
 
 
164
 
    def do_POST(self):
165
 
        """Change a message on POST."""
166
 
        scheme, netloc, path, params, query_string, fragments = (
167
 
            urlparse(self.path))
168
 
        parts = path.split('/')
169
 
        if parts[1] != 'archive':
170
 
            # This is an unknonwn operation?
171
 
            return
172
 
        if len(parts) == 4:
173
 
            # This expected path is /archive/archive_id/message_id.
 
158
        elif operation == 'hide_message':
174
159
            try:
175
160
                # This expected path is /archive/archive_id/message_id.
176
161
                response = self.server.store.hide_message(
205
190
        self.logger.info(message)
206
191
 
207
192
 
208
 
class TestPutArchive(TestCase):
209
 
 
210
 
    def test_put_message(self):
211
 
        client = GrackleClient('localhost', 8410)
212
 
        message_archives = {}
213
 
        with ForkedFakeService.from_client(client, message_archives):
214
 
            client.put_archive('arch1')
215
 
            response = client.get_messages('arch1')
216
 
        self.assertEqual(0, len(response['messages']))
217
 
 
218
 
 
219
193
class TestPutMessage(TestCase):
220
194
 
221
195
    def test_put_message(self):