Esempio n. 1
0
void End(MockBusClient& busClient, MojRefCountedPtr<ActivitySet>& actSet)
{
	MockDoneSlot endSlot;
	actSet->EndActivities(endSlot.GetSlot());
	busClient.ProcessRequests();

	ASSERT_TRUE( endSlot.Called() );
}
Esempio n. 2
0
void Start(MockBusClient& busClient, MojRefCountedPtr<ActivitySet>& actSet)
{
	MockDoneSlot startSlot;
	actSet->StartActivities(startSlot.GetSlot());
	busClient.ProcessRequests();

	ASSERT_TRUE( startSlot.Called() );
}
TEST(BufferedEmailParserTest, TestBodies)
{
	MojRefCountedPtr<BufferedEmailParser> parser(new BufferedEmailParser());
	MockBusClient busClient;
	FileCacheClient fileCacheClient(busClient);

	// Setup filecache
	MockFileCacheService fcService;
	busClient.AddMockService(fcService);

	// Setup channel factory
	boost::shared_ptr<MockAsyncIOChannelFactory> factory(new MockAsyncIOChannelFactory());

	parser->SetChannelFactory(factory);
	parser->EnableHeaderParsing();
	parser->EnableBodyParsing(fileCacheClient, 0);
	parser->Begin();
	FeedParser(parser, "From: [email protected]\r\n");
	FeedParser(parser, "Subject: Test bodies\r\n");
	FeedParser(parser, "Content-type: multipart/alternative; boundary=BOUNDARY\r\n");
	FeedParser(parser, "\r\n");
	FeedParser(parser, "--BOUNDARY\r\n");
	FeedParser(parser, "Content-type: text/plain\r\n");
	FeedParser(parser, "\r\n");
	FeedParser(parser, "BODY A LINE 1\r\n");
	FeedParser(parser, "BODY A LINE 2\r\n");
	FeedParser(parser, "--BOUNDARY\r\n");
	FeedParser(parser, "Content-type: text/html\r\n");
	FeedParser(parser, "\r\n");
	FeedParser(parser, "BODY B LINE 1\r\n");
	FeedParser(parser, "BODY B LINE 2\r\n");
	FeedParser(parser, "--BOUNDARY--\r\n");
	parser->End();

	busClient.ProcessRequests();

	string dataA = factory->GetWrittenData(fcService.GetPathFor(0));
	EXPECT_EQ( "BODY A LINE 1\r\nBODY A LINE 2\r\n", dataA );

	string dataB = factory->GetWrittenData(fcService.GetPathFor(1));
	EXPECT_EQ( "BODY B LINE 1\r\nBODY B LINE 2\r\n", dataB );
}