/usr/lib/python2.7/dist-packages/pylxd/tests/models/test_operation.py is in python-pylxd 2.2.6-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | # Copyright (c) 2016 Canonical Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import json
from pylxd import exceptions, models
from pylxd.tests import testing
class TestOperation(testing.PyLXDTestCase):
"""Tests for pylxd.models.Operation."""
def test_get(self):
"""Return an operation."""
name = 'operation-abc'
an_operation = models.Operation.get(self.client, name)
self.assertEqual(name, an_operation.id)
def test_get_full_path(self):
"""Return an operation even if the full path is specified."""
name = '/1.0/operations/operation-abc'
an_operation = models.Operation.get(self.client, name)
self.assertEqual('operation-abc', an_operation.id)
def test_wait_with_error(self):
"""If the operation errors, wait raises an exception."""
def error(request, context):
context.status_code = 200
return {
'type': 'sync',
'metadata': {
'status': 'Failure',
'err': 'Keep your foot off the blasted samoflange.',
}}
self.add_rule({
'json': error,
'method': 'GET',
'url': r'^http://pylxd.test/1.0/operations/operation-abc/wait$', # NOQA
})
name = '/1.0/operations/operation-abc'
an_operation = models.Operation.get(self.client, name)
self.assertRaises(exceptions.LXDAPIException, an_operation.wait)
def test_unknown_attribute(self):
self.add_rule({
'text': json.dumps({
'type': 'sync',
'metadata': {'id': 'operation-unknown',
'metadata': {'return': 0},
'unknown': False},
}),
'method': 'GET',
'url': r'^http://pylxd.test/1.0/operations/operation-unknown$',
})
url = '/1.0/operations/operation-unknown'
models.Operation.get(self.client, url)
|