Esempio n. 1
0
 def test_beer_status_emails(self):
     # swap out the email sending methods
     def print_email_to_be_sent(beer, is_for_tomorrow, name):
         print 'Send email due to ' + name + ' for beer "' + beer.name + ', for tomorrow: ' + str(is_for_tomorrow) 
     emailer.send_fermentation_email = lambda beer, is_for_tomorrow : print_email_to_be_sent(beer, is_for_tomorrow, 'Fermentation')        
     emailer.send_dryhopping_email = lambda beer, is_for_tomorrow : print_email_to_be_sent(beer, is_for_tomorrow, 'Dryhopping')
     emailer.send_conditioning_email = lambda beer, is_for_tomorrow : print_email_to_be_sent(beer, is_for_tomorrow, 'Conditioning')
     # create the beer
     fermenting_from = datetime.datetime(2014,2,6).strftime("%s")
     fermenting_to = datetime.datetime(2014,2,10).strftime("%s")
     dryhopping_from = datetime.datetime(2014,2,10).strftime("%s")
     dryhopping_to = datetime.datetime(2014,2,14).strftime("%s")
     conditioning_from = datetime.datetime(2014,2,14).strftime("%s")
     conditioning_to = datetime.datetime(2014,2,22).strftime("%s")
     beer = Beer('Random Encounter', 'Hefeweizen', fermenting_from, fermenting_to, conditioning_from, conditioning_to, 7, 'Test Beer', 0, dryhopping_from, dryhopping_to);        
     db_adapter.store_beer(beer)
     print db_adapter.get_beer_by_name('Random Encounter')        
     
     # so as to not wait
     brew_logic._get_seconds_in_day = lambda : 1
     brew_logic._get_seconds_in_hour = lambda : 1
     
     # we start at the specified date
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,01,31);
     brew_logic.start_beer_monitoring_thread()
             
     # nothing should happen, we move the time to one day before  the fermenting starts
     time.sleep(1)
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,2,5);
     time.sleep(1)
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,2,6);
     time.sleep(1)
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,2,9);
     time.sleep(1)
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,2,10);
     time.sleep(1)
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,2,14);
     time.sleep(1)
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,2,20);
     brew_logic._get_current_datetime = lambda : datetime.datetime(2014,2,22);
     
     # VERIFICATION STILL NEEDS TO OCCUR! I just don't have time for it :p
     brew_logic.should_threads_run = False  # @UndefinedVariable end!
def start_threads():
    """ starts a thread that stored the temperature readings every second, and the other 2 temperature controlling threads """
    temperature_probes.start_temperature_recording_thread()
    logic.start_instruction_thread()
    logic.start_temperature_control_thread()
    logic.start_beer_monitoring_thread()