Skip to content

Commit

Permalink
Add the repository for confirmation code with a delete function
Browse files Browse the repository at this point in the history
  • Loading branch information
ESDC-Olivier-Roy committed Jun 26, 2024
1 parent e725f20 commit 0af8233
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package ca.gov.dtsstn.cdcp.api.data.repository;
import java.time.Instant;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import ca.gov.dtsstn.cdcp.api.data.entity.ConfirmationCodeEntity;


@Repository
public interface ConfirmationCodeRepository extends JpaRepository<ConfirmationCodeEntity, String> {

void deleteByExpiryDateLessThan(Instant currentInstant);

}
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,5 @@ VALUES
INSERT INTO `confirmation_code` (`id`, `code`, `expiry_date`, `user_id`, `created_by`, `created_date`, `last_modified_by`, `last_modified_date`)
VALUES
('a6ea4925-f813-493e-80ec-a5b90ca28b6c', '12345', CURRENT_TIMESTAMP, 'f9f33652-0ebd-46bc-8d93-04cef538a689', 'flyway-community-edition', CURRENT_TIMESTAMP, 'flyway-community-edition', CURRENT_TIMESTAMP),
('a6ea4925-f813-493e-80ec-a5b90ca28aaa', '54321', CURRENT_TIMESTAMP-100, 'f9f33652-0ebd-46bc-8d93-04cef538a689', 'flyway-community-edition', CURRENT_TIMESTAMP, 'flyway-community-edition', CURRENT_TIMESTAMP),
('a6ea4925-f813-493e-80ec-a5b90ca28b6d', '54321', CURRENT_TIMESTAMP + 20000000, 'f9f33652-0ebd-46bc-8d93-04cef538a689', 'flyway-community-edition', CURRENT_TIMESTAMP, 'flyway-community-edition', CURRENT_TIMESTAMP);
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package ca.gov.dtsstn.cdcp.api.data.repository;
import static org.assertj.core.api.Assertions.assertThat;
import java.time.Instant;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.ActiveProfiles;
import ca.gov.dtsstn.cdcp.api.config.DataSourceConfig;


@DataJpaTest
@ActiveProfiles("test")
@Import({ DataSourceConfig.class })
@AutoConfigureTestDatabase(replace = Replace.NONE)
public class ConfirmationCodeRepositoryIT {

@Autowired ConfirmationCodeRepository confirmationCodeRepository;

@Test
@DisplayName("Test confirmationCodeRepository.findBy(..)")
void testFindById() {
assertThat(confirmationCodeRepository.findAll()).isNotEmpty();
assertThat(confirmationCodeRepository.findById("a6ea4925-f813-493e-80ec-a5b90ca28b6c")).isNotEmpty();
assertThat(confirmationCodeRepository.findById("bogusId")).isEmpty();
}

@Test
@DisplayName("Test confirmationCodeRepository.deleteByExpiredCode(..)")
void testDeleteByExpiredCode() {

assertThat(confirmationCodeRepository.findById("a6ea4925-f813-493e-80ec-a5b90ca28aaa")).isNotEmpty();
confirmationCodeRepository.deleteByExpiryDateLessThan(Instant.now());
assertThat(confirmationCodeRepository.findById("a6ea4925-f813-493e-80ec-a5b90ca28aaa")).isEmpty();
}
}

0 comments on commit 0af8233

Please sign in to comment.