Unit testing a python function that depends on database : I am running tests on some functions. I have a function that uses database queries. So, I have gone through the blogs and docs that say we have to make an in memory or test database to use such functions. Below is my function, 

    def already_exists(story_data,c):
        # TODO(salmanhaseeb): Implement de-dupe functionality by checking 
    if it already exists in the DB.
	    c.execute("""SELECT COUNT(*) from posts where post_id = ?""", 
    (story_data.post_id,))
	    (number_of_rows,)=c.fetchone()
	    if number_of_rows > 0:
		    return True
	    return False
This function hits the production database. My question is that, when in testing, I create an in memory database and populate my values there, I will be quering that database(test DB). But I want to test my "already_exists" function, after calling my already_exists function from test, my production db will be hit. How do I make my test DB hit while testing this function. 