132 lines
5.2 KiB
Java
132 lines
5.2 KiB
Java
/*
|
|
* This file is part of LibrePlan
|
|
*
|
|
* Copyright (C) 2013 St. Antoniusziekenhuis
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
package importers;
|
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
|
import java.io.FileInputStream;
|
|
import java.io.FileNotFoundException;
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Properties;
|
|
|
|
import org.joda.time.LocalDate;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.libreplan.importers.ExportTimesheetsToTim;
|
|
import org.libreplan.importers.TimSoapClient;
|
|
import org.libreplan.importers.tim.Duration;
|
|
import org.libreplan.importers.tim.Person;
|
|
import org.libreplan.importers.tim.Product;
|
|
import org.libreplan.importers.tim.RegistrationDate;
|
|
import org.libreplan.importers.tim.TimOptions;
|
|
import org.libreplan.importers.tim.TimeRegistration;
|
|
import org.libreplan.importers.tim.TimeRegistrationRequest;
|
|
import org.libreplan.importers.tim.TimeRegistrationResponse;
|
|
|
|
/**
|
|
* Test for {@link ExportTimesheetsToTim}
|
|
*
|
|
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
|
|
*/
|
|
public class ExportTimesheetsToTimTest {
|
|
|
|
private Properties properties = null;
|
|
|
|
@Before
|
|
public void loadProperties() throws FileNotFoundException, IOException {
|
|
String filename = System.getProperty("user.dir")
|
|
+ "/../scripts/tim-connector/tim-conn.properties";
|
|
properties = new Properties();
|
|
properties.load(new FileInputStream(filename));
|
|
}
|
|
|
|
private TimeRegistration createTimeRegistration(String name,
|
|
String productCode, LocalDate localDate, Double hours) {
|
|
Person person = new Person();
|
|
// person.setEmailAddress("j.baten@antoniusziekenhuis.nl");
|
|
person.setName(name);
|
|
// person.setNetworkName("j.baten");
|
|
person.setOptions(TimOptions.UPDATE_OR_INSERT);
|
|
|
|
Product product = new Product();
|
|
product.setOptions(TimOptions.UPDATE_OR_INSERT);
|
|
product.setCode(productCode);
|
|
|
|
RegistrationDate date = new RegistrationDate();
|
|
date.setOptions(TimOptions.UPDATE_OR_INSERT);
|
|
date.setDate(localDate);
|
|
|
|
Duration duration = new Duration();
|
|
duration.setOptions(TimOptions.DECIMAL);
|
|
duration.setDuration(hours);
|
|
|
|
TimeRegistration timeRegistration = new TimeRegistration();
|
|
timeRegistration.setPerson(person);
|
|
timeRegistration.setProduct(product);
|
|
timeRegistration.setRegistrationDate(date);
|
|
timeRegistration.setDuration(duration);
|
|
return timeRegistration;
|
|
}
|
|
|
|
@Test
|
|
public void testExporttTimeRegistrationWith1Item() {
|
|
List<TimeRegistration> timeRegistrations = new ArrayList<TimeRegistration>();
|
|
TimeRegistration timeRegistration = createTimeRegistration(
|
|
"Baten, Jeroen", "5160", new LocalDate().minusDays(1),
|
|
9.00);
|
|
timeRegistrations.add(timeRegistration);
|
|
TimeRegistrationRequest timeRegistrationRequest = new TimeRegistrationRequest();
|
|
timeRegistrationRequest.setTimeRegistrations(timeRegistrations);
|
|
|
|
TimeRegistrationResponse timeRegistrationResponse = TimSoapClient
|
|
.sendRequestReceiveResponse(properties.getProperty("url"),
|
|
properties.getProperty("username"),
|
|
properties.getProperty("password"),
|
|
timeRegistrationRequest,
|
|
TimeRegistrationResponse.class);
|
|
assertTrue(!timeRegistrationResponse.getRefs().isEmpty());
|
|
}
|
|
|
|
@Test
|
|
public void testExportTimeRegistrationWith2Items() {
|
|
List<TimeRegistration> timeRegistrations = new ArrayList<TimeRegistration>();
|
|
TimeRegistration timeRegistration1 = createTimeRegistration(
|
|
"Baten, Jeroen", "5160", new LocalDate(),
|
|
8.00);
|
|
timeRegistrations.add(timeRegistration1);
|
|
|
|
TimeRegistration timeRegistration2 = createTimeRegistration(
|
|
"Baten, Jeroen", "5160", new LocalDate(), 9.00);
|
|
timeRegistrations.add(timeRegistration2);
|
|
|
|
TimeRegistrationRequest timeRegistrationRequest = new TimeRegistrationRequest();
|
|
timeRegistrationRequest.setTimeRegistrations(timeRegistrations);
|
|
|
|
TimeRegistrationResponse timeRegistrationResponse = TimSoapClient
|
|
.sendRequestReceiveResponse(properties.getProperty("url"),
|
|
properties.getProperty("username"),
|
|
properties.getProperty("password"),
|
|
timeRegistrationRequest, TimeRegistrationResponse.class);
|
|
assertTrue(!timeRegistrationResponse.getRefs().isEmpty());
|
|
}
|
|
|
|
}
|