void End(MockBusClient& busClient, MojRefCountedPtr<ActivitySet>& actSet) { MockDoneSlot endSlot; actSet->EndActivities(endSlot.GetSlot()); busClient.ProcessRequests(); ASSERT_TRUE( endSlot.Called() ); }
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 ); }