Package honeycrm.server.test.large

Source Code of honeycrm.server.test.large.ContractRetrievePerformanceTest

package honeycrm.server.test.large;

import honeycrm.client.dto.Dto;
import honeycrm.server.DemoDataProvider;
import honeycrm.server.domain.Contract;
import honeycrm.server.test.medium.DatastoreTest;

import java.util.ArrayList;
import java.util.List;

public class ContractRetrievePerformanceTest extends DatastoreTest {
  public void testCreateAndRead() throws InterruptedException {
    final int count = 10;
   
    final String contractModule = Contract.class.getSimpleName();

    final List<Long> productIds = new ArrayList<Long>();

    for (final Dto product : DemoDataProvider.getProducts(100)) {
      productIds.add(createService.create(product));
    }

    final Dto contract = getContract(count, productIds);

    long lastId = -1;

    System.out.print("creating.. ");
    for (int i=0; i<100; i++) {
      lastId = createService.create(contract);
    }
    System.out.println("done.");

    System.out.print("get all.. ");
    for (int i=0; i<10; i++) {
      readService.getAll(contractModule, 0, 100);
    }
    System.out.println("done.");
   
    System.out.print("get.. ");
    for (int i = 0; i < 1000; i++) {
      final Dto retrieved = readService.get(contractModule, lastId);
      assertNotNull(retrieved);
    }
    System.out.println("done.");

    // for profiling this might be useful..
    // Thread.sleep(1000 * 60 * 60);
  }

  private Dto getContract(final int count, final List<Long> productIds) {
    final ArrayList<Dto> services = DemoDataProvider.getServices(20);

    for (final Dto service : services) {
      service.set("productID", productIds.get(random.nextInt(count)));
    }

    final Dto contract = new Dto();
    contract.setModule(Contract.class.getSimpleName());
    contract.set("uniqueServices", services);
    return contract;
  }
}
TOP

Related Classes of honeycrm.server.test.large.ContractRetrievePerformanceTest

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.