def test_api_alibaba_mongod(aggregator): log = mock.MagicMock() config = MongoConfig(common.INSTANCE_BASIC, log) payload = { 'isMaster': {}, 'replSetGetStatus': { 'myState': 1, 'set': 'foo', 'configsvr': False }, 'shardingState': { 'enabled': False }, } mocked_client = mock.MagicMock() mocked_client.__getitem__ = mock.MagicMock(return_value=mock.MagicMock( command=payload.__getitem__)) with mock.patch('datadog_checks.mongo.api.MongoClient', mock.MagicMock(return_value=mocked_client)): api = MongoApi(config, log) deployment_type = api._get_alibaba_deployment_type() assert isinstance(deployment_type, ReplicaSetDeployment) assert deployment_type.cluster_role is None assert deployment_type.replset_state_name == 'primary' assert deployment_type.use_shards is False assert deployment_type.is_primary is True assert deployment_type.is_secondary is False assert deployment_type.is_arbiter is False assert deployment_type.replset_state == 1 assert deployment_type.replset_name == 'foo'
def test_api_alibaba_mongos(aggregator): log = mock.MagicMock() config = MongoConfig(common.INSTANCE_BASIC, log) payload = {'isMaster': {'msg': 'isdbgrid'}} mocked_client = mock.MagicMock() mocked_client.__getitem__ = mock.MagicMock(return_value=mock.MagicMock( command=payload.__getitem__)) with mock.patch('datadog_checks.mongo.api.MongoClient', mock.MagicMock(return_value=mocked_client)): api = MongoApi(config, log) deployment_type = api._get_alibaba_deployment_type() assert isinstance(deployment_type, MongosDeployment)