feat: Add basic certificate models and repositories (#8)

* Add basic certificate models and repositories

* Review comments

* Adjust cert enum
This commit is contained in:
Torge Hamann 2024-11-17 22:35:27 +01:00 committed by GitHub
parent a2aea580f2
commit d98f60ab54
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 244 additions and 9 deletions

View file

@ -0,0 +1,26 @@
package de.mlessmann.certassist.repositories;
import static org.assertj.core.api.Assertions.assertThat;
import de.mlessmann.certassist.models.CertificateExtension;
import jakarta.transaction.Transactional;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class CertificateExtensionRepositoryTest {
@Autowired
private CertificateExtensionRepository repository;
@Test
@Transactional
void findCertificate() {
CertificateExtension certificateExtension = new CertificateExtension();
certificateExtension.setValue("test-value");
repository.save(certificateExtension);
assertThat(repository.findById(certificateExtension.getId()).orElseThrow().getValue()).isEqualTo("test-value");
}
}

View file

@ -0,0 +1,58 @@
package de.mlessmann.certassist.repositories;
import static org.assertj.core.api.Assertions.assertThat;
import de.mlessmann.certassist.models.Certificate;
import de.mlessmann.certassist.models.CertificateExtension;
import de.mlessmann.certassist.models.CertificateType;
import jakarta.transaction.Transactional;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class CertificateRepositoryTest {
@Autowired
private CertificateRepository repository;
@Autowired
private CertificateExtensionRepository extensionRepository;
private Certificate getCertificate() {
final Certificate certificate = new Certificate();
certificate.setCommonName("test-cn");
certificate.setType(CertificateType.SIGNED_CERT);
certificate.setRequestedKeyLength(1);
certificate.setRequestedValidityDays(1);
return certificate;
}
@Test
@Transactional
void findCertificate() {
final Certificate certificate = getCertificate();
repository.save(certificate);
Certificate foundCertificate = repository.findById(certificate.getId()).orElseThrow();
assertThat(foundCertificate.getCommonName()).isEqualTo("test-cn");
assertThat(foundCertificate.getType()).isEqualTo(CertificateType.SIGNED_CERT);
}
@Test
@Transactional
void findCertificateWithExtension() {
final Certificate certificate = getCertificate();
CertificateExtension extension = new CertificateExtension();
extension.setValue("test-ext-value");
certificate.setCertificateExtension(List.of(extension));
repository.save(certificate);
assertThat(repository.findById(certificate.getId()).orElseThrow().getCertificateExtension()).hasSize(1);
assertThat(extensionRepository.findAll())
.singleElement()
.satisfies(ce -> assertThat(ce.getValue()).isEqualTo("test-ext-value"));
}
}

View file

@ -0,0 +1,26 @@
package de.mlessmann.certassist.repositories;
import static org.assertj.core.api.Assertions.assertThat;
import de.mlessmann.certassist.models.CertificateSubjectPreset;
import jakarta.transaction.Transactional;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class CertificateSubjectPresetRepositoryTest {
@Autowired
private CertificateSubjectPresetRepository repository;
@Test
@Transactional
void findCertificateSubjectPreset() {
final CertificateSubjectPreset certificateSubjectPreset = new CertificateSubjectPreset();
certificateSubjectPreset.setCountry("DE");
repository.save(certificateSubjectPreset);
assertThat(repository.findById(certificateSubjectPreset.getId()).orElseThrow().getCountry()).isEqualTo("DE");
}
}

View file

@ -1,12 +1,13 @@
package de.mlessmann.certassist.repositories;
import static org.assertj.core.api.Assertions.assertThat;
import de.mlessmann.certassist.models.User;
import jakarta.transaction.Transactional;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest
class UserRepositoryTest {
@ -14,11 +15,12 @@ class UserRepositoryTest {
private UserRepository userRepository;
@Test
@Transactional
void findUserById() {
final User user = new User();
user.setUsername("test");
userRepository.save(user);
assertThat(userRepository.findUserById(user.getId()).getUsername()).isEqualTo("test");
assertThat(userRepository.findById(user.getId()).orElseThrow().getUsername()).isEqualTo("test");
}
}