~ltrager/maas/lp1554636_2.0

« back to all changes in this revision

Viewing changes to src/maasserver/api/tests/test_bcache.py

Merge Blake's branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
__all__ = []
7
7
 
8
8
import http.client
9
 
import json
10
9
from uuid import uuid4
11
10
 
12
11
from django.core.urlresolvers import reverse
19
18
from maasserver.testing.api import APITestCase
20
19
from maasserver.testing.factory import factory
21
20
from maasserver.testing.orm import reload_object
22
 
from maasserver.utils.converters import human_readable_bytes
 
21
from maasserver.utils.converters import (
 
22
    human_readable_bytes,
 
23
    json_load_bytes,
 
24
)
23
25
from testtools.matchers import (
24
26
    ContainsDict,
25
27
    Equals,
72
74
            ]
73
75
        result_ids = [
74
76
            bcache["id"]
75
 
            for bcache in json.loads(response.content)
 
77
            for bcache in json_load_bytes(response.content)
76
78
            ]
77
79
        self.assertItemsEqual(expected_ids, result_ids)
78
80
 
132
134
        })
133
135
        self.assertEqual(
134
136
            http.client.OK, response.status_code, response.content)
135
 
        parsed_device = json.loads(response.content)
 
137
        parsed_device = json_load_bytes(response.content)
136
138
        self.assertEqual(backing_size, parsed_device['virtual_device']['size'])
137
139
        self.assertItemsEqual('bcache0', parsed_device['name'])
138
140
        self.assertItemsEqual(uuid, parsed_device['uuid'])
154
156
        })
155
157
        self.assertEqual(
156
158
            http.client.BAD_REQUEST, response.status_code, response.content)
157
 
        parsed_content = json.loads(response.content)
 
159
        parsed_content = json_load_bytes(response.content)
158
160
        self.assertIn(
159
161
            'Bcache requires a cache_set.',
160
162
            parsed_content['__all__'])
175
177
        })
176
178
        self.assertEqual(
177
179
            http.client.BAD_REQUEST, response.status_code, response.content)
178
 
        parsed_content = json.loads(response.content)
 
180
        parsed_content = json_load_bytes(response.content)
179
181
        self.assertIn(
180
182
            'Either backing_device or backing_partition must be specified.',
181
183
            parsed_content['__all__'])
207
209
 
208
210
        self.assertEqual(
209
211
            http.client.OK, response.status_code, response.content)
210
 
        parsed_bcache = json.loads(response.content)
 
212
        parsed_bcache = json_load_bytes(response.content)
211
213
        self.assertThat(parsed_bcache, ContainsDict({
212
214
            "id": Equals(bcache.id),
213
215
            "uuid": Equals(bcache.uuid),
296
298
        })
297
299
        self.assertEqual(
298
300
            http.client.OK, response.status_code, response.content)
299
 
        parsed_device = json.loads(response.content)
 
301
        parsed_device = json_load_bytes(response.content)
300
302
        self.assertEqual('new_name', parsed_device['name'])
301
303
        self.assertEqual(uuid, parsed_device['uuid'])
302
304
        self.assertEqual(
320
322
        })
321
323
        self.assertEqual(
322
324
            http.client.OK, response.status_code, response.content)
323
 
        parsed_device = json.loads(response.content)
 
325
        parsed_device = json_load_bytes(response.content)
324
326
        self.assertEqual(new_backing.id, parsed_device['backing_device']['id'])
325
327
        self.assertEqual('physical', parsed_device['backing_device']['type'])
326
328
 
341
343
        })
342
344
        self.assertEqual(
343
345
            http.client.OK, response.status_code, response.content)
344
 
        parsed_device = json.loads(response.content)
 
346
        parsed_device = json_load_bytes(response.content)
345
347
        self.assertEqual(new_backing.id, parsed_device['backing_device']['id'])
346
348
        self.assertEqual('partition', parsed_device['backing_device']['type'])
347
349
 
359
361
        })
360
362
        self.assertEqual(
361
363
            http.client.BAD_REQUEST, response.status_code, response.content)
362
 
        parsed_content = json.loads(response.content)
 
364
        parsed_content = json_load_bytes(response.content)
363
365
        self.assertIn(
364
366
            'Select a valid choice.',
365
367
            parsed_content['backing_device'][0])