class AllFixtures(Fixture):
    _FIXTURES = {'names' : "AppServer, MongoDB, RabbitMQ, MemCached"}
    
    def __init__(self, config=None):
        self.config = config or TestConfiguration.create_instance()
        self.appServer = AppServerFixture(config=self.config)
        self.mongoDB = MongoDBFixture(config=self.config)
#        self.rabbitMQ = RabbitMQFixture(config=self.config)
        self.remoteMemStore = RemoteMemStoreFixture(config=self.config)
        
    def startUp(self):
        logging.info('STARTING UP (%(names)s) fixtures ...' %AllFixtures._FIXTURES)
        #starting the MongoDB server
        try:
            self.mongoDB.setUp()
        except RunningInstanceExceptions, e:
            raise e
        #starting the RabbitMQ server
#        try:
#            self.rabbitMQ.setUp()
#        except RunningInstanceExceptions, e:
#            logging.debug("stopping the started fixtures")
            self.mongoDB.tearDown()
            raise e
        #starting the RemoteMemStore server
        try:
            self.remoteMemStore.setUp()
        except RunningInstanceExceptions, e:
            logging.debug("stopping the started fixtures")
            self.mongoDB.tearDown()
#            self.rabbitMQ.tearDown()
            raise e
    def __init__(self, config=None):
        self.config = config or TestConfiguration.create_instance()
        self.appServer = AppServerFixture(config=self.config)
        self.mongoDB = MongoDBFixture(config=self.config)
#        self.rabbitMQ = RabbitMQFixture(config=self.config)
        self.remoteMemStore = RemoteMemStoreFixture(config=self.config)