Base for workflow service (mistral)
Change-Id: I1b6754673b21a92aad1e8f0e10283859987108f6
This commit is contained in:
parent
28922b3c28
commit
e5e3f374e9
0
openstack/tests/unit/workflow/__init__.py
Normal file
0
openstack/tests/unit/workflow/__init__.py
Normal file
43
openstack/tests/unit/workflow/test_version.py
Normal file
43
openstack/tests/unit/workflow/test_version.py
Normal file
@ -0,0 +1,43 @@
|
||||
# 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 testtools
|
||||
|
||||
from openstack.workflow import version
|
||||
|
||||
IDENTIFIER = 'IDENTIFIER'
|
||||
EXAMPLE = {
|
||||
'id': IDENTIFIER,
|
||||
'links': '2',
|
||||
'status': '3',
|
||||
}
|
||||
|
||||
|
||||
class TestVersion(testtools.TestCase):
|
||||
|
||||
def test_basic(self):
|
||||
sot = version.Version()
|
||||
self.assertEqual('version', sot.resource_key)
|
||||
self.assertEqual('versions', sot.resources_key)
|
||||
self.assertEqual('/', sot.base_path)
|
||||
self.assertEqual('workflowv2', sot.service.service_type)
|
||||
self.assertFalse(sot.allow_create)
|
||||
self.assertFalse(sot.allow_get)
|
||||
self.assertFalse(sot.allow_update)
|
||||
self.assertFalse(sot.allow_delete)
|
||||
self.assertTrue(sot.allow_list)
|
||||
|
||||
def test_make_it(self):
|
||||
sot = version.Version(**EXAMPLE)
|
||||
self.assertEqual(EXAMPLE['id'], sot.id)
|
||||
self.assertEqual(EXAMPLE['links'], sot.links)
|
||||
self.assertEqual(EXAMPLE['status'], sot.status)
|
28
openstack/tests/unit/workflow/test_workflow_service.py
Normal file
28
openstack/tests/unit/workflow/test_workflow_service.py
Normal file
@ -0,0 +1,28 @@
|
||||
# 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 testtools
|
||||
|
||||
from openstack.workflow import workflow_service
|
||||
|
||||
|
||||
class TestWorkflowService(testtools.TestCase):
|
||||
|
||||
def test_service(self):
|
||||
sot = workflow_service.WorkflowService()
|
||||
self.assertEqual('workflowv2', sot.service_type)
|
||||
self.assertEqual('public', sot.interface)
|
||||
self.assertIsNone(sot.region)
|
||||
self.assertIsNone(sot.service_name)
|
||||
self.assertEqual(1, len(sot.valid_versions))
|
||||
self.assertEqual('v2', sot.valid_versions[0].module)
|
||||
self.assertEqual('v2', sot.valid_versions[0].path)
|
0
openstack/workflow/__init__.py
Normal file
0
openstack/workflow/__init__.py
Normal file
0
openstack/workflow/v2/__init__.py
Normal file
0
openstack/workflow/v2/__init__.py
Normal file
31
openstack/workflow/version.py
Normal file
31
openstack/workflow/version.py
Normal file
@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
|
||||
|
||||
from openstack import resource2 as resource
|
||||
from openstack.workflow import workflow_service
|
||||
|
||||
|
||||
class Version(resource.Resource):
|
||||
resource_key = 'version'
|
||||
resources_key = 'versions'
|
||||
base_path = '/'
|
||||
service = workflow_service.WorkflowService(
|
||||
version=workflow_service.WorkflowService.UNVERSIONED
|
||||
)
|
||||
|
||||
# capabilities
|
||||
allow_list = True
|
||||
|
||||
# Properties
|
||||
links = resource.Body('links')
|
||||
status = resource.Body('status')
|
26
openstack/workflow/workflow_service.py
Normal file
26
openstack/workflow/workflow_service.py
Normal file
@ -0,0 +1,26 @@
|
||||
# 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.
|
||||
|
||||
from openstack import service_filter
|
||||
|
||||
|
||||
class WorkflowService(service_filter.ServiceFilter):
|
||||
"""The workflow service."""
|
||||
|
||||
valid_versions = [service_filter.ValidVersion('v2')]
|
||||
|
||||
def __init__(self, version=None):
|
||||
"""Create a workflow service."""
|
||||
super(WorkflowService, self).__init__(
|
||||
service_type='workflowv2',
|
||||
version=version
|
||||
)
|
Loading…
Reference in New Issue
Block a user