oslo.privsep/oslo_privsep/tests/testctx.py

45 lines
1.5 KiB
Python

# Copyright 2015 Rackspace Inc.
#
# 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 os
from oslotest import base
from oslo_privsep import priv_context
import oslo_privsep.tests
from oslo_privsep.tests import fixture
context = priv_context.PrivContext(
# This context allows entrypoints anywhere below oslo_privsep.tests.
oslo_privsep.tests.__name__,
pypath=__name__ + '.context',
# This is one of the rare cases where we actually want zero powers:
capabilities=[],
)
class TestContextTestCase(base.BaseTestCase):
def setUp(self):
super(TestContextTestCase, self).setUp()
privsep_fixture = self.useFixture(
fixture.UnprivilegedPrivsepFixture(context))
self.privsep_conf = privsep_fixture.conf
def assertNotMyPid(self, pid):
# Verify that `pid` is some positive integer, that isn't our pid
self.assertIsInstance(pid, int)
self.assertTrue(pid > 0)
self.assertNotEqual(os.getpid(), pid)