예제 #1
0
파일: main.py 프로젝트: carriercomm/pyssf
class SSF(object):
    '''
    Service Sharing Facility.
    '''

    logger = logging.getLogger()

    PORT = 8888

    def __init__(self):
        logging.basicConfig(level=logging.DEBUG,
                            format="%(asctime)s [%(levelname)-7s] %(message)s")
        self.logger.info('Welcome to SSF')
        self.service = OCCI()

    def setup(self):
        '''
        Initialize the service.
        '''
        pass

    def start(self):
        '''
        Start the service.
        '''
        self.service.register_backend(AGREEMENT, AgreementHandler())
        self.logger.info('Starting Negotiation Service on port %i', self.PORT)
        self.service.start(self.PORT)
예제 #2
0
class TestService(unittest.TestCase):
    '''
    Test the service extension point.
    '''

    registry = NonePersistentRegistry()

    def setUp(self):
        self.service = OCCI()

    def test_init_for_sanity(self):
        '''
        Test constructor and initialization of service.
        '''
        self.assertTrue(self.registry.get_renderer('text/occi'))
        self.assertTrue(self.registry.get_renderer('text/plain'))
        self.assertTrue(self.registry.get_renderer('text/uri-list'))
        self.assertTrue(self.registry.get_renderer('text/html'))

        OCCI(registry=NonePersistentRegistry())

    def test_register_backend_for_failure(self):
        '''
        Test registration.
        '''
        back = ActionBackend()
        self.assertRaises(AttributeError, self.service.register_backend,
                          COMPUTE, back)
        try:
            OCCI(registry=dict())
        except AttributeError:
            pass
        else:
            self.assertFalse(True, 'Exception not thrown...')

    def test_register_backend_for_sanity(self):
        '''
        Test registration.
        '''
        back = KindBackend()
        back1 = MixinBackend()
        back2 = ActionBackend()
        self.service.register_backend(COMPUTE, back)
        self.service.register_backend(IPNETWORKINTERFACE, back1)
        self.service.register_backend(START, back2)

        self.assertTrue(self.registry.get_backend(COMPUTE) == back)
        self.assertTrue(self.registry.get_backend(IPNETWORKINTERFACE) == back1)
        self.assertTrue(self.registry.get_backend(START) == back2)

    def test_start_for_success(self):
        '''
        Just here to reach 100% code coverage :-)
        '''
        self.service.http_server.listen = fake_listen
        tornado.ioloop.IOLoop.instance = fake_ioloop
        self.service.start(1010)
예제 #3
0
class TestService(unittest.TestCase):
    """
    Test the service extension point.
    """

    registry = NonePersistentRegistry()

    def setUp(self):
        self.service = OCCI()

    def test_init_for_sanity(self):
        """
        Test constructor and initialization of service.
        """
        self.assertTrue(self.registry.get_renderer("text/occi"))
        self.assertTrue(self.registry.get_renderer("text/plain"))
        self.assertTrue(self.registry.get_renderer("text/uri-list"))
        self.assertTrue(self.registry.get_renderer("text/html"))

        OCCI(registry=NonePersistentRegistry())

    def test_register_backend_for_failure(self):
        """
        Test registration.
        """
        back = ActionBackend()
        self.assertRaises(AttributeError, self.service.register_backend, COMPUTE, back)
        try:
            OCCI(registry=dict())
        except AttributeError:
            pass
        else:
            self.assertFalse(True, "Exception not thrown...")

    def test_register_backend_for_sanity(self):
        """
        Test registration.
        """
        back = KindBackend()
        back1 = MixinBackend()
        back2 = ActionBackend()
        self.service.register_backend(COMPUTE, back)
        self.service.register_backend(IPNETWORKINTERFACE, back1)
        self.service.register_backend(START, back2)

        self.assertTrue(self.registry.get_backend(COMPUTE) == back)
        self.assertTrue(self.registry.get_backend(IPNETWORKINTERFACE) == back1)
        self.assertTrue(self.registry.get_backend(START) == back2)

    def test_start_for_success(self):
        """
        Just here to reach 100% code coverage :-)
        """
        self.service.http_server.listen = fake_listen
        tornado.ioloop.IOLoop.instance = fake_ioloop
        self.service.start(1010)
예제 #4
0
    def test_init_for_sanity(self):
        '''
        Test constructor and initialization of service.
        '''
        self.assertTrue(self.registry.get_renderer('text/occi'))
        self.assertTrue(self.registry.get_renderer('text/plain'))
        self.assertTrue(self.registry.get_renderer('text/uri-list'))
        self.assertTrue(self.registry.get_renderer('text/html'))

        OCCI(registry=NonePersistentRegistry())
예제 #5
0
 def test_register_backend_for_failure(self):
     '''
     Test registration.
     '''
     back = ActionBackend()
     self.assertRaises(AttributeError, self.service.register_backend,
                       COMPUTE, back)
     try:
         OCCI(registry=dict())
     except AttributeError:
         pass
     else:
         self.assertFalse(True, 'Exception not thrown...')
예제 #6
0
        link.attributes.pop('occi.networkinterface.mac')
        link.attributes.pop('occi.networkinterface.interface')


if __name__ == '__main__':
    COMPUTE_BACKEND = ComputeBackend()
    NETWORK_BACKEND = NetworkBackend()
    STORAGE_BACKEND = StorageBackend()

    IPNETWORK_BACKEND = IpNetworkBackend()
    IPNETWORKINTERFACE_BACKEND = IpNetworkInterfaceBackend()

    STORAGE_LINK_BACKEND = StorageLinkBackend()
    NETWORKINTERFACE_BACKEND = NetworkInterfaceBackend()

    SERVICE = OCCI()

    SERVICE.register_backend(COMPUTE, COMPUTE_BACKEND)
    SERVICE.register_backend(START, COMPUTE_BACKEND)
    SERVICE.register_backend(STOP, COMPUTE_BACKEND)
    SERVICE.register_backend(RESTART, COMPUTE_BACKEND)
    SERVICE.register_backend(SUSPEND, COMPUTE_BACKEND)

    SERVICE.register_backend(NETWORK, NETWORK_BACKEND)
    SERVICE.register_backend(UP, NETWORK_BACKEND)
    SERVICE.register_backend(DOWN, NETWORK_BACKEND)

    SERVICE.register_backend(STORAGE, STORAGE_BACKEND)
    SERVICE.register_backend(ONLINE, STORAGE_BACKEND)
    SERVICE.register_backend(OFFLINE, STORAGE_BACKEND)
    SERVICE.register_backend(BACKUP, STORAGE_BACKEND)
예제 #7
0
 def setUp(self):
     self.service = OCCI()
예제 #8
0
 def setUp(self):
     self.service = OCCI()
예제 #9
0
파일: main.py 프로젝트: carriercomm/pyssf
 def __init__(self):
     logging.basicConfig(level=logging.DEBUG,
                         format="%(asctime)s [%(levelname)-7s] %(message)s")
     self.logger.info('Welcome to SSF')
     self.service = OCCI()