Skip to content
Snippets Groups Projects
Commit 4afefc2b authored by Anesa Fazlagić's avatar Anesa Fazlagić
Browse files

finished the last manufactirer and smartmeter testing in core

parent 558c1687
No related branches found
No related tags found
2 merge requests!25Milestone 1,!21Unit tests for the core
Pipeline #
package cz.muni.fi.pa165.core.manufacturer;
import cz.muni.fi.pa165.core.device.Device;
import cz.muni.fi.pa165.core.device.DeviceRepository;
import cz.muni.fi.pa165.core.house.HouseRepository;
import cz.muni.fi.pa165.core.smartmeter.SmartMeterRepository;
import cz.muni.fi.pa165.core.user.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
@DataJpaTest
public class UnitTestManufacturerJPA {
@Autowired
private TestEntityManager entityManager;
@Autowired
private HouseRepository houseRepository;
@Autowired
private SmartMeterRepository smartMeterRepository;
@Autowired
private UserRepository userRepository;
@Autowired
private ManufacturerRepository manufacturerRepository;
@Autowired
private DeviceRepository deviceRepository;
@Test
public void createTesting() throws Exception {
String manufacturer = this.entityManager.persistAndGetId(new Manufacturer()).toString();
// Regular expression to match UUID format
Pattern uuidPattern = Pattern.compile(
"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
Pattern.CASE_INSENSITIVE);
// Check if the string matches the UUID format
boolean isUUID = uuidPattern.matcher(manufacturer).matches();
assertThat(isUUID).isTrue();
}
@Test
public void shouldFindNoneIfRepositoryIsEmpty() {
Iterable<Manufacturer> manufacturers = manufacturerRepository.findAll();
assertThat(manufacturers).isEmpty();
}
private Manufacturer helperRegister() {
Iterable<Device> deviceIterable;
deviceIterable = deviceRepository.saveAll(List.of(new Device(), new Device(), new Device()));
List<Device> list = StreamSupport.stream(deviceIterable.spliterator(), false)
.collect(Collectors.toList());
return manufacturerRepository.save(new Manufacturer("Manufacturer1", list));
}
@Test
public void shouldStore() {
Manufacturer manufacturer = helperRegister();
assertThat(manufacturer).hasFieldOrPropertyWithValue("name", "Manufacturer1");
}
@Test
public void shouldFindAll() {
Manufacturer m = new Manufacturer();
entityManager.persist(m);
Manufacturer m1 = new Manufacturer();
entityManager.persist(m1);
Manufacturer m2 = new Manufacturer();
entityManager.persist(m2);
assertThat(manufacturerRepository.findAll()).hasSize(3).contains(m, m1, m2);
}
@Test
public void shouldFindById() {
Manufacturer m = new Manufacturer();
entityManager.persist(m);
Manufacturer m1 = new Manufacturer();
entityManager.persist(m1);
Manufacturer m2 = new Manufacturer();
entityManager.persist(m2);
Manufacturer found = manufacturerRepository.findById(m.getId()).get();
assertThat(found).isEqualTo(m);
found = manufacturerRepository.findById(m.getId()).get();
assertThat(found).isEqualTo(m);
}
@Test
public void shouldUpdateById() {
Manufacturer m = new Manufacturer();
entityManager.persist(m);
Manufacturer m1 = new Manufacturer();
entityManager.persist(m1);
Manufacturer update = manufacturerRepository.findById(m.getId()).get();
update.setName("New name");
manufacturerRepository.save(update);
Manufacturer check = manufacturerRepository.findById(m.getId()).get();
assertThat(check.getId()).isEqualTo(m.getId());
assertThat(check.getName()).isEqualTo(m.getName());
}
@Test
public void shouldDeleteById() {
Manufacturer m = new Manufacturer();
entityManager.persist(m);
Manufacturer m1 = new Manufacturer();
entityManager.persist(m1);
manufacturerRepository.deleteById(m.getId());
assertThat(manufacturerRepository.findAll()).hasSize(1).contains(m1);
assertThat(manufacturerRepository.findAll()).hasSize(1).doesNotContain(m);
}
@Test
public void shouldDeleteAll() {
entityManager.persist(helperRegister());
entityManager.persist(helperRegister());
manufacturerRepository.deleteAll();
assertThat(manufacturerRepository.findAll()).isEmpty();
}
}
package cz.muni.fi.pa165.core.smartmeter;
import cz.muni.fi.pa165.core.device.Device;
import cz.muni.fi.pa165.core.device.DeviceRepository;
import cz.muni.fi.pa165.core.house.House;
import cz.muni.fi.pa165.core.house.HouseRepository;
import cz.muni.fi.pa165.core.metrics.Metrics;
import cz.muni.fi.pa165.core.metrics.MetricsRepository;
import cz.muni.fi.pa165.core.user.UserRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class)
@DataJpaTest
public class UnitTestSmartMeterJPA {
@Autowired
private TestEntityManager entityManager;
@Autowired
private HouseRepository houseRepository;
@Autowired
private SmartMeterRepository smartMeterRepository;
@Autowired
private UserRepository userRepository;
@Autowired
private DeviceRepository deviceRepository;
@Autowired
private MetricsRepository metricsRepository;
@Test
public void createTesting() throws Exception {
String m = this.entityManager.persistAndGetId(new SmartMeter()).toString();
// Regular expression to match UUID format
Pattern uuidPattern = Pattern.compile(
"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",
Pattern.CASE_INSENSITIVE);
// Check if the string matches the UUID format
boolean isUUID = uuidPattern.matcher(m).matches();
assertThat(isUUID).isTrue();
}
@Test
public void shouldFindNoneIfRepositoryIsEmpty() {
Iterable<SmartMeter> m = smartMeterRepository.findAll();
assertThat(m).isEmpty();
}
private SmartMeter helperRegister() {
Iterable<Metrics> metrics;
metrics = metricsRepository.saveAll(List.of(new Metrics(), new Metrics(), new Metrics()));
List<Metrics> list = StreamSupport.stream(metrics.spliterator(), false)
.collect(Collectors.toList());
Device device = deviceRepository.save(new Device());
House house = houseRepository.save(new House());
return smartMeterRepository.save(new SmartMeter("OneT Tesla 1232", device, house, list));
}
@Test
public void shouldStore() {
SmartMeter smartMeter = helperRegister();
assertThat(smartMeter).hasFieldOrPropertyWithValue("name", "OneT Tesla 1232");
}
@Test
public void shouldFindAll() {
SmartMeter m = new SmartMeter();
entityManager.persist(m);
SmartMeter m1 = new SmartMeter();
entityManager.persist(m1);
SmartMeter m2 = new SmartMeter();
entityManager.persist(m2);
assertThat(smartMeterRepository.findAll()).hasSize(3).contains(m, m1, m2);
}
@Test
public void shouldFindById() {
SmartMeter m = new SmartMeter();
entityManager.persist(m);
SmartMeter m1 = new SmartMeter();
entityManager.persist(m1);
SmartMeter m2 = new SmartMeter();
entityManager.persist(m2);
SmartMeter found = smartMeterRepository.findById(m.getId()).get();
assertThat(found).isEqualTo(m);
found = smartMeterRepository.findById(m.getId()).get();
assertThat(found).isEqualTo(m);
}
@Test
public void shouldUpdateById() {
SmartMeter m = new SmartMeter();
entityManager.persist(m);
SmartMeter m1 = new SmartMeter();
entityManager.persist(m1);
SmartMeter update = smartMeterRepository.findById(m.getId()).get();
update.setName("New name");
smartMeterRepository.save(update);
SmartMeter check = smartMeterRepository.findById(m.getId()).get();
assertThat(check.getId()).isEqualTo(m.getId());
assertThat(check.getName()).isEqualTo(m.getName());
}
@Test
public void shouldDeleteById() {
SmartMeter m = new SmartMeter();
entityManager.persist(m);
SmartMeter m1 = new SmartMeter();
entityManager.persist(m1);
smartMeterRepository.deleteById(m.getId());
assertThat(smartMeterRepository.findAll()).hasSize(1).contains(m1);
assertThat(smartMeterRepository.findAll()).hasSize(1).doesNotContain(m);
}
@Test
public void shouldDeleteAll() {
entityManager.persist(helperRegister());
entityManager.persist(helperRegister());
smartMeterRepository.deleteAll();
assertThat(smartMeterRepository.findAll()).isEmpty();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment