Package org.yaac.server.service

Source Code of org.yaac.server.service.EGQLServiceImplTest

package org.yaac.server.service;

import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import java.util.Map;
import java.util.logging.Logger;

import org.junit.Before;
import org.junit.Test;
import org.yaac.server.conf.YaacModule;
import org.yaac.server.delegate.UserServiceDelegate;
import org.yaac.server.egql.SelectStatement;
import org.yaac.server.egql.StatementContext;
import org.yaac.shared.egql.Request;
import org.yaac.shared.egql.Response;

import com.google.appengine.api.users.User;
import com.google.common.collect.ImmutableMap;
import com.google.appengine.tools.pipeline.Job2;
import com.google.appengine.tools.pipeline.PipelineService;
import com.google.inject.Guice;
import com.google.inject.Injector;

/**
* @author Max Zhu (thebbsky@gmail.com)
*
*/
public class EGQLServiceImplTest {

  private static Injector injector;
  private static Logger logger;
 
  @Before
  public void setup() {
    injector = Guice.createInjector(new YaacModule());
    logger = injector.getInstance(Logger.class);
  }
 
  @SuppressWarnings("unchecked")
  @Test
  public void testExecute() {
    // setup service
    PipelineService mockPipeline = mock(PipelineService.class);
    when(mockPipeline.startNewPipeline(
        any(Job2.class), any(SelectStatement.class), any(StatementContext.class)
        )).thenReturn("key1").thenReturn("key2");
   
    UserServiceDelegate mockUserService = mock(UserServiceDelegate.class);
    when(mockUserService.getCurrentUser()).thenReturn(new User("testing@gmail.com", "google"));
   
    EGQLServiceImpl service = new EGQLServiceImpl(logger, mockPipeline, mockUserService);
   
    // testing data
    String command = "select a, b, c from d \n select e, f, g from h";
    Request req = new Request(command, 100, 200);
   
    // test
    Response resp = service.execute(req);
   
    Map<String, String> expected = ImmutableMap.<String, String>of(
        "key1", "select a, b, c from d",
        "key2", "select e, f, g from h");
   
    assertEquals(expected, resp.getResponseMap());
  }
 
}
TOP

Related Classes of org.yaac.server.service.EGQLServiceImplTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.