def test_sanitize_tags_collision_avoidance(self): test_listing = {'tags': TEST_TAGS_MULTIPLE_TAGS} self.mox.StubOutWithMock(listing_service, 'make_tag_safe') ls = listing_service ls.make_tag_safe(TEST_TAG1).InAnyOrder().AndReturn(TEST_TAG1) ls.make_tag_safe(TEST_TAG2).InAnyOrder().AndReturn(TEST_TAG1) ls.make_tag_safe(TEST_SUBTAG1).InAnyOrder().AndReturn(TEST_SUBTAG1) ls.make_tag_safe(TEST_SUBTAG2).InAnyOrder().AndReturn(TEST_SUBTAG2) ls.make_tag_safe(TEST_SUBTAG3).InAnyOrder().AndReturn(TEST_SUBTAG3) self.mox.ReplayAll() listing_service.sanitize_tags(test_listing) tags = test_listing['tags'] self.assertEqual(1, len(tags)) self.assertEqual(3, len(tags[TEST_TAG1]))
def test_update_saved(self): test_id = 'someid' test_listing_copy = copy.deepcopy(TEST_LISTING) test_listing_copy['_id'] = test_id test_listing_new = copy.deepcopy(TEST_LISTING) test_listing_new['_id'] = test_id self.mox.StubOutWithMock(listing_service, 'sanitize_tags') listing_service.sanitize_tags(test_listing_new) self.mox.StubOutWithMock(listing_service, 'calculate_slugs') listing_service.calculate_slugs(test_listing_new) test_db_adapter = mox.Mox().CreateMock(db_service.DBAdapter) test_db_adapter.upsert_listing(test_listing_new) tiny_classified.db_adapter = test_db_adapter self.mox.ReplayAll() listing_service.update(test_listing_new) self.assertEqual(test_id, test_listing_new['_id']) self.assertEqual(test_listing_new, test_listing_copy)