
Even though the context was marked private, we should consider it public as it is widely used across the board, and it has demonstrated itself to be one of the most stable components ever conceived in the Neutron maze. NeutronLibImpact Partially-implements: blueprint neutron-lib Change-Id: Ibb3797c17fef5a1ead40aa2cad1269ce11c45339
62 lines
2.2 KiB
Python
62 lines
2.2 KiB
Python
# 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 sqlalchemy as sa
|
|
|
|
from neutron_lib import context
|
|
from neutron_lib.db import model_base
|
|
|
|
from neutron_lib.tests.unit.db import _base as db_base
|
|
|
|
|
|
class TestTable(model_base.BASEV2, model_base.HasProject,
|
|
model_base.HasId, model_base.HasStatusDescription):
|
|
|
|
name = sa.Column(sa.String(8), primary_key=True)
|
|
|
|
|
|
class TestModelBase(db_base.SqlTestCase):
|
|
|
|
def setUp(self):
|
|
super(TestModelBase, self).setUp()
|
|
self.ctx = context.Context('user', 'project')
|
|
self.session = self.ctx.session
|
|
|
|
def test_model_base(self):
|
|
foo = TestTable(name='meh')
|
|
self.assertEqual('meh', foo.name)
|
|
self.assertIn('meh', str(foo)) # test foo.__repr__
|
|
cols = [k for k, _v in foo] # test foo.__iter__ and foo.next
|
|
self.assertIn('name', cols)
|
|
|
|
def test_get_set_tenant_id_tenant(self):
|
|
foo = TestTable(tenant_id='tenant')
|
|
self.assertEqual('tenant', foo.get_tenant_id())
|
|
foo.set_tenant_id('project')
|
|
self.assertEqual('project', foo.get_tenant_id())
|
|
|
|
def test_get_set_tenant_id_project(self):
|
|
foo = TestTable(project_id='project')
|
|
self.assertEqual('project', foo.get_tenant_id())
|
|
foo.set_tenant_id('tenant')
|
|
self.assertEqual('tenant', foo.get_tenant_id())
|
|
|
|
def test_project_id_attribute(self):
|
|
foo = TestTable(project_id='project')
|
|
self.assertEqual('project', foo.project_id)
|
|
self.assertEqual('project', foo.tenant_id)
|
|
|
|
def test_tenant_id_attribute(self):
|
|
foo = TestTable(tenant_id='tenant')
|
|
self.assertEqual('tenant', foo.project_id)
|
|
self.assertEqual('tenant', foo.tenant_id)
|