def test_init_no_id(self): amap = Map(name="TEST", key_values={"key1": "val1", "key2": "val2"}) self.assertIsNotNone(amap) self.assertIsNone(amap.id) self.assertEqual("TEST", amap.name) self.assertEqual({"key1": "val1", "key2": "val2"}, amap.key_values) self.assertEqual({'key_values': {'key1': 'val1', 'key2': 'val2'}, 'name': 'TEST'}, amap.to_document())
def add_to_map(self, name, key, value, overwrite_existing=False): collection = self.collection() amap = collection.find_one({MongoMapsStore.NAME: name}) if amap is not None: if key in amap[MongoMapsStore.KEYVALUES]: if overwrite_existing is True: YLogger.info(self, "Updating map [%s] in Mongo [%s]=[%s]", name, key, value) amap[MongoMapsStore.KEYVALUES][key] = value result = collection.replace_one({MongoMapsStore.NAME: name}, amap) return bool(result.modified_count > 0) else: YLogger.error(self, "Existing value in map [%s] [%s] = [%s] in Mongo", name, key, value) else: amap[MongoMapsStore.KEYVALUES][key] = value result = collection.replace_one({MongoMapsStore.NAME: name}, amap) return bool(result.modified_count > 0) else: amap = Map(name, {key: value}) return self.add_document(amap) return False
def add_to_map(self, name, key, value, overwrite_existing=False): collection = self.collection() map = collection.find_one({MongoMapsStore.NAME: name}) if map is not None: if key in map[MongoMapsStore.KEYVALUES]: if overwrite_existing is True: YLogger.info(self, "Updating map in Mongo", name, key, value) map[MongoMapsStore.KEYVALUES][key] = value collection.replace_one({MongoMapsStore.NAME: name}, map) else: YLogger.error( self, "Existing value in map [%s] [%s] = [%s] in Mongo", name, key, value) return False else: map[MongoMapsStore.KEYVALUES][key] = value collection.replace_one({MongoMapsStore.NAME: name}, map) else: map = Map(name, {key: value}) self.add_document(map) return True