Example #1
0
TEST(ActivityTest, TestAdopt)
{
    MockActivityService		mockActivityService;
    MockBusClient			serviceClient;

    MojInt32 activityId = 1;
    ActivityPtr activity = Activity::PrepareAdoptedActivity(activityId);

    ASSERT_TRUE( activity->CanAdopt() );

    activity->Adopt(serviceClient);

    ASSERT_TRUE( !activity->CanAdopt() );

    // Check adopt response
    MockRequestPtr req = serviceClient.GetLastRequest();
    CheckRequest(req, "com.palm.activitymanager", "adopt");
    ASSERT_EQ( activityId, GetActivityId(req->GetPayload()) );

    // Reply to adopt
    mockActivityService.HandleRequest(req);

    ASSERT_TRUE( activity->IsActive() );

    activity->Complete(serviceClient);
}
TEST(ActivitySetTest, TestEnd)
{
	MockActivityService		service;
	MockBusClient			busClient;

	busClient.AddMockService(service);

	ActivityPtr activity = Activity::PrepareAdoptedActivity(1);

	MojRefCountedPtr<ActivitySet> actSet(new ActivitySet(busClient));
	actSet->AddActivity(activity);

	Start(busClient, actSet);
	End(busClient, actSet);
}
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() );
}
Example #5
0
TEST(ActivityTest, TestAdoptFailure)
{
    MockActivityService		mockActivityService;
    MockBusClient			serviceClient;

    MojInt32 activityId = 1;
    ActivityPtr activity = Activity::PrepareAdoptedActivity(activityId);
    MojRefCountedPtr<MockActivitySlots> slots(new MockActivitySlots(activity));

    activity->Adopt(serviceClient);
    MockRequestPtr req = serviceClient.GetLastRequest();

    // Should handle the error and pass it along to the error slot
    slots->ExpectError();
    MojObject response;
    req->ReplyNow(response, MojErrInternal);
    slots->Check();
}
Example #6
0
TEST(ActivityTest, TestActivityManagerOffline)
{
    MockActivityService		mockActivityService;
    MockBusClient			serviceClient;

    mockActivityService.SetOffline(true);

    MojInt32 activityId = 1;
    ActivityPtr activity = Activity::PrepareAdoptedActivity(activityId);
    MojRefCountedPtr<MockActivitySlots> slots(new MockActivitySlots(activity));

    activity->Adopt(serviceClient);
    MockRequestPtr req = serviceClient.GetLastRequest();

    // Should handle the error and pass it along to the error slot
    slots->ExpectError();
    mockActivityService.HandleRequest(req);
    slots->Check();
}
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 );
}
TEST(ActivitySetTest, TestEndOrder)
{
	MockActivityService		service;
	MockBusClient			busClient;

	busClient.AddMockService(service);
	MojRefCountedPtr<ActivitySet> actSet(new ActivitySet(busClient));

	ActivityPtr activity1 = Activity::PrepareAdoptedActivity(1);
	actSet->AddActivity(activity1);

	ActivityPtr activity2 = Activity::PrepareAdoptedActivity(2);
	actSet->AddActivity(activity2);

	Start(busClient, actSet);

	activity1->SetEndOrder(Activity::EndOrder_Last);

	End(busClient, actSet);

	// TODO check order ended
	ASSERT_TRUE(activity1->IsEnded());
	ASSERT_TRUE(activity2->IsEnded());
}