def test_ScheduleHandlerTomorrow(self): # 周期ツイート制御のインスタンスを生成 ct = CycleTweet(datetime.datetime(2011, 11, 12, 22, 50)) # カレンダーのダミーファイルを指定 ct.calUrl = u'./gcaltest.xml' # tweepyAPIのモックを作成 apiMock = self.mocker.CreateMock(tweepy.API) # モックをテスト対象に設定 ct.api = apiMock # スケジュール取得関数をモック化 self.mocker.StubOutWithMock(ct, "todaySchedule") self.mocker.StubOutWithMock(ct, "tomorrowSchedule") # 記録をリセット self.mocker.ResetAll() # 呼び出しの記録 ct.tomorrowSchedule(mox.IsA(GCalendar.GCalendar)).AndReturn(u'tomorrow') apiMock.update_status(u'tomorrow') # 再現動作の開始 self.mocker.ReplayAll() # スケジュール制御のハンドラ呼び出し ct.scheduleHandler() # 実動作の検証 self.mocker.VerifyAll()
def test_TomorrowSchedule(self): # 周期ツイート制御のインスタンスを生成 ct = CycleTweet(datetime.datetime(2011, 7, 8, 0, 0)) # カレンダー制御のモックを作成 gcalMock = self.mocker.CreateMockAnything() # 記録をリセット self.mocker.ResetAll() # 呼び出しの記録 gcalMock.getDateInfo(mox.IsA(datetime.datetime.now())).AndReturn(u'test') # 再現動作の開始 self.mocker.ReplayAll() # 翌日スケジュールの取得 s = ct.tomorrowSchedule(gcalMock) # 実動作の検証 self.mocker.VerifyAll() # 翌日用イベントメッセージ assert_equal(u'きなこちゃん、明日は「test」だよぉ グヘヘヘヘ', s)