def test_no_value_add_model_to_redis(self): """ Tests add of models to redis database with no value for fields. """ post = G(TestModelPost, title="", slug="", author=self.staff) post.save() # G should save automatically but to be sure - save again self.assertEquals(r.zrange(ZKEY_AUTOCOMPLETE, 0, -1), []) self.assertEquals(r.keys(SKEY_AUTOCOMPLETE+'*'), []) self.assertEquals(r.smembers('models-*'), set([]))
def test_multiple_add_model_to_redis(self): """ Tests adding of multiple models to redis database. """ G(TestModelPost, title="This is the first post.", slug="", author=self.staff) G(TestModelPost, title="This is the second post.", slug="", author=self.staff) G(TestModelPost, title="This is the third post. I am sure you know this.", slug="", author=self.staff) self.assertEquals(r.zrange(ZKEY_AUTOCOMPLETE, 0, -1), ['a', 'am', 'am*', 'f', 'fi', 'fir', 'firs', 'first', 'first*', 'i', 'i*', 'is', 'is*', 'k', 'kn', 'kno', 'know', 'know*', 'p', 'po', 'pos', 'post', 'post*', 's', 'se', 'sec', 'seco', 'secon', 'second', 'second*', 'su', 'sur', 'sure', 'sure*', 't', 'th', 'the', 'the*', 'thi', 'thir', 'third', 'third*', 'this', 'this is the first post*', 'this is the second post*', 'this is the third post i am sure you know this*', 'this*', 'y', 'yo', 'you', 'you*']) autocomplete_list = r.keys(SKEY_AUTOCOMPLETE+'*') self.assertTrue(SKEY_AUTOCOMPLETE+'this' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'this is the third post i am sure you know this' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'know' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'is' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'the' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'first' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'this is the second post' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'you' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'sure' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'second' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'i' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'third' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'this is the first post' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'am' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'post' in autocomplete_list) self.assertEquals(r.smembers(SKEY_AUTOCOMPLETE+'this'), set(['tests.testmodelpost:3', 'tests.testmodelpost:2', 'tests.testmodelpost:1'])) self.assertEquals(r.smembers(SKEY_AUTOCOMPLETE+'is'), set(['tests.testmodelpost:3', 'tests.testmodelpost:2', 'tests.testmodelpost:1'])) self.assertEquals(r.smembers(SKEY_AUTOCOMPLETE+'the'), set(['tests.testmodelpost:3', 'tests.testmodelpost:2', 'tests.testmodelpost:1'])) self.assertEquals(r.smembers(SKEY_AUTOCOMPLETE+'this is the third post i am sure you know this'), set(['tests.testmodelpost:3'])) self.assertEquals(r.smembers(SKEY_AUTOCOMPLETE+'this is the second post'), set(['tests.testmodelpost:2'])) self.assertEquals(r.smembers(SKEY_AUTOCOMPLETE+'this is the first post'), set(['tests.testmodelpost:1'])) self.assertEquals(r.smembers(SKEY_AUTOCOMPLETE+'post'), set(['tests.testmodelpost:3', 'tests.testmodelpost:2', 'tests.testmodelpost:1'])) self.assertEquals(r.smembers('models-tests.testmodelpost:1'), set(['title:This is the first post.', 'get_absolute_url:/blog/post/this-is-the-first-post/', 'slug:this-is-the-first-post'])) self.assertEquals(r.smembers('models-tests.testmodelpost:2'), set(['title:This is the second post.', 'get_absolute_url:/blog/post/this-is-the-second-post/', 'slug:this-is-the-second-post'])) self.assertEquals(r.smembers('models-tests.testmodelpost:3'), set(['title:This is the third post. I am sure you know this.', 'get_absolute_url:/blog/post/this-is-the-third-post-i-am-sure-you-know-this/', 'slug:this-is-the-third-post-i-am-sure-you-know-this']))
def test_flush_redis(self): """ Test of flush_redis method. """ G(TestModelPost, title="This is a test post.", slug="", author=self.staff) self.assertEquals(r.zrange(ZKEY_AUTOCOMPLETE, 0, -1), ['a', 'a*', 'i', 'is', 'is*', 'p', 'po', 'pos', 'post', 'post*', 't', 'te', 'tes', 'test', 'test*', 'th', 'thi', 'this', 'this is a test post*', 'this*']) autocomplete_list = r.keys(SKEY_AUTOCOMPLETE+'*') self.assertTrue(SKEY_AUTOCOMPLETE+'this' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'is' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'a' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'test' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'post' in autocomplete_list) self.assertTrue(SKEY_AUTOCOMPLETE+'this is a test post' in autocomplete_list) self.assertEquals(r.smembers('models-tests.testmodelpost:1'), set(['title:This is a test post.', 'slug:this-is-a-test-post', 'get_absolute_url:/blog/post/this-is-a-test-post/'])) flush_redis() self.assertEquals(r.zrange(ZKEY_AUTOCOMPLETE, 0, -1), []) self.assertEquals(r.keys(SKEY_AUTOCOMPLETE+'*'), []) self.assertEquals(r.smembers('models-*'), set([]))