Example #1
0
    def setUp(self):
        super(MotorTestReplicaSetAuth, self).setUp()
        members = [
            {},
            {
                'priority': 0
            },
            {
                'priority': 0
            },
        ]

        res = ha_tools.start_replica_set(members, auth=True)
        self.seed, self.name = res
        self.c = pymongo.mongo_replica_set_client.MongoReplicaSetClient(
            self.seed, replicaSet=self.name)

        self.c.admin.add_user('admin',
                              password='******',
                              roles=['userAdminAnyDatabase'])
        self.c.admin.authenticate('admin', 'adminpass')
        self.c.pymongo_ha_auth.add_user('user',
                                        'userpass',
                                        roles=['readWrite'])
        self.c.pymongo_ha_auth.authenticate('user', 'userpass')

        # Await replication.
        self.c.pymongo_ha_auth.collection.insert({}, w=3, wtimeout=30000)
        self.c.pymongo_ha_auth.collection.remove({}, w=3, wtimeout=30000)
Example #2
0
    def setUp(self):
        members = [{}, {}]
        res = ha_tools.start_replica_set(members)
        self.seed, self.name = res

        # Disable periodic refresh
        Monitor._refresh_interval = 1e6
Example #3
0
    def setUp(self):
        super(MotorTestTriggeredRefresh, self).setUp()
        members = [{}, {}]
        res = ha_tools.start_replica_set(members)
        self.seed, self.name = res

        # Disable periodic refresh
        Monitor._refresh_interval = 1e6
Example #4
0
    def setUp(self):
        super(MotorTestTriggeredRefresh, self).setUp()
        members = [{}, {}]
        res = ha_tools.start_replica_set(members)
        self.seed, self.name = res

        # Disable periodic refresh
        Monitor._refresh_interval = 1e6
Example #5
0
 def setUp(self):
     super(MotorTestPassiveAndHidden, self).setUp()
     members = [{},
             {'priority': 0},
             {'arbiterOnly': True},
             {'priority': 0, 'hidden': True},
             {'priority': 0, 'slaveDelay': 5}
     ]
     res = ha_tools.start_replica_set(members)
     self.seed, self.name = res
Example #6
0
    def setUp(self):
        super(MotorTestPassiveAndHidden, self).setUp()
        members = [
            {},
            {'priority': 0},
            {'arbiterOnly': True},
            {'priority': 0, 'hidden': True},
            {'priority': 0, 'slaveDelay': 5}]

        res = ha_tools.start_replica_set(members)
        self.seed, self.name = res
Example #7
0
    def setUp(self):
        super(MotorTestReadPreference, self).setUp()
        members = [
            # primary
            {'tags': {'dc': 'ny', 'name': 'primary'}},

            # secondary
            {'tags': {'dc': 'la', 'name': 'secondary'}, 'priority': 0},

            # other_secondary
            {'tags': {'dc': 'ny', 'name': 'other_secondary'}, 'priority': 0},
        ]

        res = ha_tools.start_replica_set(members)
        self.seed, self.name = res

        primary = ha_tools.get_primary()
        self.primary = _partition_node(primary)
        self.primary_tags = ha_tools.get_tags(primary)
        # Make sure priority worked
        self.assertEqual('primary', self.primary_tags['name'])

        self.primary_dc = {'dc': self.primary_tags['dc']}

        secondaries = ha_tools.get_secondaries()

        (secondary, ) = [
            s for s in secondaries
            if ha_tools.get_tags(s)['name'] == 'secondary']

        self.secondary = _partition_node(secondary)
        self.secondary_tags = ha_tools.get_tags(secondary)
        self.secondary_dc = {'dc': self.secondary_tags['dc']}

        (other_secondary, ) = [
            s for s in secondaries
            if ha_tools.get_tags(s)['name'] == 'other_secondary']

        self.other_secondary = _partition_node(other_secondary)
        self.other_secondary_tags = ha_tools.get_tags(other_secondary)
        self.other_secondary_dc = {'dc': self.other_secondary_tags['dc']}

        # Synchronous PyMongo interfaces for convenience
        self.c = pymongo.mongo_replica_set_client.MongoReplicaSetClient(
            self.seed, replicaSet=self.name)
        self.db = self.c.motor_test
        self.w = len(self.c.secondaries) + 1
        self.db.test.remove({}, w=self.w)
        self.db.test.insert(
            [{'foo': i} for i in range(10)], w=self.w)

        self.clear_ping_times()
Example #8
0
    def setUp(self):
        super(MotorTestReadPreference, self).setUp()
        members = [
            # primary
            {'tags': {'dc': 'ny', 'name': 'primary'}},

            # secondary
            {'tags': {'dc': 'la', 'name': 'secondary'}, 'priority': 0},

            # other_secondary
            {'tags': {'dc': 'ny', 'name': 'other_secondary'}, 'priority': 0},
        ]

        res = ha_tools.start_replica_set(members)
        self.seed, self.name = res

        primary = ha_tools.get_primary()
        self.primary = _partition_node(primary)
        self.primary_tags = ha_tools.get_tags(primary)
        # Make sure priority worked
        self.assertEqual('primary', self.primary_tags['name'])

        self.primary_dc = {'dc': self.primary_tags['dc']}

        secondaries = ha_tools.get_secondaries()

        (secondary, ) = [
            s for s in secondaries
            if ha_tools.get_tags(s)['name'] == 'secondary']

        self.secondary = _partition_node(secondary)
        self.secondary_tags = ha_tools.get_tags(secondary)
        self.secondary_dc = {'dc': self.secondary_tags['dc']}

        (other_secondary, ) = [
            s for s in secondaries
            if ha_tools.get_tags(s)['name'] == 'other_secondary']

        self.other_secondary = _partition_node(other_secondary)
        self.other_secondary_tags = ha_tools.get_tags(other_secondary)
        self.other_secondary_dc = {'dc': self.other_secondary_tags['dc']}

        # Synchronous PyMongo interfaces for convenience
        self.c = pymongo.mongo_replica_set_client.MongoReplicaSetClient(
            self.seed, replicaSet=self.name)
        self.db = self.c.pymongo_test
        self.w = len(self.c.secondaries) + 1
        self.db.test.remove({}, w=self.w)
        self.db.test.insert(
            [{'foo': i} for i in xrange(10)], w=self.w)

        self.clear_ping_times()
Example #9
0
    def setUp(self):
        super(MotorTestReplicaSetAuth, self).setUp()
        members = [
            {},
            {'priority': 0},
            {'priority': 0},
        ]

        res = ha_tools.start_replica_set(members, auth=True)
        self.seed, self.name = res
        self.c = pymongo.mongo_replica_set_client.MongoReplicaSetClient(
            self.seed, replicaSet=self.name)

        # Add an admin user to enable auth
        try:
            self.c.admin.add_user('admin', 'adminpass')
        except:
            # SERVER-4225
            pass
        self.c.admin.authenticate('admin', 'adminpass')
        self.c.pymongo_ha_auth.add_user('user', 'userpass')
Example #10
0
    def setUp(self):
        super(MotorTestReplicaSetAuth, self).setUp()
        members = [
            {},
            {'priority': 0},
            {'priority': 0},
        ]

        res = ha_tools.start_replica_set(members, auth=True)
        self.seed, self.name = res
        self.c = pymongo.mongo_replica_set_client.MongoReplicaSetClient(
            self.seed, replicaSet=self.name)

        self.c.admin.add_user('admin', password='******',
                              roles=['userAdminAnyDatabase'])
        self.c.admin.authenticate('admin', 'adminpass')
        self.c.pymongo_ha_auth.add_user('user', 'userpass', roles=['readWrite'])
        self.c.pymongo_ha_auth.authenticate('user', 'userpass')

        # Await replication.
        self.c.pymongo_ha_auth.collection.insert({}, w=3, wtimeout=30000)
        self.c.pymongo_ha_auth.collection.remove({}, w=3, wtimeout=30000)
Example #11
0
 def setUp(self):
     super(MotorTestAlive, self).setUp()
     members = [{}, {}]
     self.seed, self.name = ha_tools.start_replica_set(members)
Example #12
0
 def setUp(self):
     super(MotorTestDirectConnection, self).setUp()
     members = [{}, {}, {'arbiterOnly': True}]
     res = ha_tools.start_replica_set(members)
     self.seed, self.name = res
     self.c = None
Example #13
0
 def setUp(self):
     super(MotorTestShipOfTheseus, self).setUp()
     res = ha_tools.start_replica_set([{}, {}])
     self.seed, self.name = res
Example #14
0
 def setUp(self):
     super(MotorTestReadWithFailover, self).setUp()
     res = ha_tools.start_replica_set([{}, {}, {}])
     self.seed, self.name = res
Example #15
0
 def setUp(self):
     super(MotorTestHealthMonitor, self).setUp()
     res = ha_tools.start_replica_set([{}, {}, {}])
     self.seed, self.name = res
Example #16
0
 def setUp(self):
     super(MotorTestAlive, self).setUp()
     members = [{}, {}]
     self.seed, self.name = ha_tools.start_replica_set(members)
Example #17
0
 def setUp(self):
     super(MotorTestMonitorRemovesRecoveringMember, self).setUp()
     members = [{}, {'priority': 0}, {'priority': 0}]
     res = ha_tools.start_replica_set(members)
     self.seed, self.name = res
Example #18
0
 def setUp(self):
     members = [{}, {}]
     self.seed, self.name = ha_tools.start_replica_set(members)
Example #19
0
 def setUp(self):
     super(MotorTestDirectConnection, self).setUp()
     members = [{}, {}, {'arbiterOnly': True}]
     res = ha_tools.start_replica_set(members)
     self.seed, self.name = res
Example #20
0
 def setUp(self):
     super(MotorTestMonitorRemovesRecoveringMember, self).setUp()
     members = [{}, {'priority': 0}, {'priority': 0}]
     res = ha_tools.start_replica_set(members)
     self.seed, self.name = res
Example #21
0
 def setUp(self):
     super(MotorTestShipOfTheseus, self).setUp()
     res = ha_tools.start_replica_set([{}, {}])
     self.seed, self.name = res
Example #22
0
 def setUp(self):
     super(MotorTestReadWithFailover, self).setUp()
     res = ha_tools.start_replica_set([{}, {}, {}])
     self.seed, self.name = res
Example #23
0
 def setUp(self):
     super(MotorTestHealthMonitor, self).setUp()
     res = ha_tools.start_replica_set([{}, {}, {}])
     self.seed, self.name = res
Example #24
0
 def setUp(self):
     members = [{}, {'priority': 0}, {'priority': 0}]
     res = ha_tools.start_replica_set(members)
     self.seed, self.name = res