Exemple #1
0
	def test_CycleHandlerOther(self):
		# 周期ツイート制御のインスタンスを生成
		ct = CycleTweet(datetime.datetime(2012, 3, 4, 13, 00))

		# tweepyAPIのモックを作成
		apiMock = self.mocker.CreateMock(tweepy.API)

		# モックをテスト対象に設定
		ct.api = apiMock

		# スケジュール取得関数をモック化
		self.mocker.StubOutWithMock(ct, "nekorobiOpen")
		self.mocker.StubOutWithMock(ct, "nekorobiClose")
		self.mocker.StubOutWithMock(ct, "otherTweet")

		# 記録をリセット
		self.mocker.ResetAll()

		# 呼び出しの記録
		ct.otherTweet().AndReturn(u'Other')
		apiMock.update_status(u'Other')

		# 再現動作の開始
		self.mocker.ReplayAll()

		# 周期制御のハンドラ呼び出し
		ct.cycleHandler()

		# 実動作の検証
		self.mocker.VerifyAll()
Exemple #2
0
	def test_AnniversaryHandler(self):
		# 周期ツイート制御のインスタンスを生成
		ct = CycleTweet(datetime.datetime(2012, 2, 13, 0, 30))

		# tweepyAPIのモックを作成
		apiMock = self.mocker.CreateMock(tweepy.API)

		# モックをテスト対象に設定
		ct.api = apiMock

		# 記録をリセット
		self.mocker.ResetAll()

		# 呼び出しの記録
		apiMock.update_status(u'ねころび『4周年』記念だぜ!イイイイヤッホオオオゥゥゥ!!!(1/12)')
		apiMock.update_status(u'ねころび『5周年』記念だぜ!イイイイヤッホオオオゥゥゥ!!!(6/12)')
		apiMock.update_status(u'ねころび『6周年』記念だぜ!イイイイヤッホオオオゥゥゥ!!!(12/12)')

		# 再現動作の開始
		self.mocker.ReplayAll()

		# 記念日制御のハンドラ呼び出し
		ct.ct = datetime.datetime(2012, 2, 13, 0, 30)
		ct.anniversaryHandler()

		# 記念日制御のハンドラ呼び出し
		ct.ct = datetime.datetime(2013, 2, 13, 10, 30)
		ct.anniversaryHandler()

		# 記念日制御のハンドラ呼び出し
		ct.ct = datetime.datetime(2014, 2, 13, 22, 30)
		ct.anniversaryHandler()

		# 実動作の検証
		self.mocker.VerifyAll()
Exemple #3
0
	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()