Skip to content
Snippets Groups Projects
Commit 56ef18b4 authored by OURY Sarah's avatar OURY Sarah
Browse files

création topic kafka pour OperationNonIT dans le composant api-event-donneesentrees + TU

parent 9f53d2fd
No related branches found
No related tags found
1 merge request!12[SOY] Operation non it
This commit is part of merge request !12. Comments created here will be created in the context of that merge request.
package org.mte.numecoeval.donneesentrees;
import io.zonky.test.db.AutoConfigureEmbeddedDatabase;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mte.numecoeval.donneesentrees.test.jdbc.ScriptUtils;
import org.mte.numecoeval.donneesentrees.test.kafka.KafkaConsumerEquipementPhysique;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.kafka.test.context.EmbeddedKafka;
import org.springframework.test.context.ActiveProfiles;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import static org.awaitility.Awaitility.await;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles(profiles = {"test"})
@AutoConfigureEmbeddedDatabase
@EmbeddedKafka(
bootstrapServersProperty = "spring.kafka.bootstrap-servers",
partitions = 1
)
class IntegrationOperationNonITTest {
@Autowired
JdbcTemplate jdbcTemplate;
@Autowired
KafkaConsumerEquipementPhysique kafkaConsumer;
@BeforeEach
void setup() {
ScriptUtils.loadScript(jdbcTemplate.getDataSource(), "sql/schema.sql");
jdbcTemplate.batchUpdate("DELETE FROM en_operation_non_it");
}
@Test
void whenDataAvailable_shouldUpdateStatusAndSendMessage() {
ScriptUtils.loadScript(jdbcTemplate.getDataSource(), "sql/operation_non_it.sql");
// Given
var queryResultCountEntrees = jdbcTemplate.query(
"SELECT count(*) as nbr from en_operation_non_it",
(rs, rowNum) -> rs.getInt("nbr")
);
var nbrEntrees = queryResultCountEntrees.get(0);
// When
jdbcTemplate.batchUpdate("UPDATE en_operation_non_it SET statut_traitement = 'A_INGERER'");
// Then
Assertions.assertEquals(1, nbrEntrees);
await().atMost(10, TimeUnit.SECONDS)
.until(() -> {
var queryResultCountEntreesIngerees = jdbcTemplate.query(
"SELECT count(*) as nbr from en_operation_non_it WHERE statut_traitement = 'INGERE'",
(rs, rowNum) -> rs.getInt("nbr")
);
return !queryResultCountEntreesIngerees.isEmpty() && Objects.equals(nbrEntrees, queryResultCountEntreesIngerees.get(0));
});
await().atMost(5, TimeUnit.SECONDS)
.until(() -> nbrEntrees == kafkaConsumer.getPayloads().size());
}
}
INSERT INTO en_operation_non_it (id, date_creation, nom_lot, date_lot, nom_organisation,nom_item_non_it, quantite, type,
duree_de_vie, localisation, nom_entite,nom_source_donnee,nom_court_datacenter,description,conso_elec_annuelle,statut_traitement)
VALUES (11002, '2023-03-23 15:53:37.073851', 'nomlot', '2022-01-01', 'nomOrga', 'nomitem', 32, 'type', 31,
'Localisation', 'Entite', 'Source','nomCourtDatacenter','description',100,'EN_ATTENTE');
\ No newline at end of file
......@@ -96,6 +96,25 @@ CREATE TABLE IF NOT EXISTS en_application
CONSTRAINT en_application_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS en_operation_non_it
(
id int8 NOT NULL,
date_creation timestamp NULL,
date_lot date NULL,
nom_lot varchar(255) NULL,
nom_organisation varchar(255) NULL,
nom_source_donnee varchar(255) NULL,
nom_item_non_it varchar(255) NULL,
quantite float8 NULL,
type varchar(255) NULL,
duree_de_vie float8 NULL,
localisation varchar(255) NULL,
nom_entite varchar(255) NULL,
nom_court_datacenter varchar(255) NULL,
description varchar(255) NULL,
conso_elec_annuelle float8 NULL,
CONSTRAINT en_operation_non_it_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS en_entite
(
......@@ -135,4 +154,5 @@ ALTER TABLE IF EXISTS en_data_center ADD COLUMN IF NOT EXISTS statut_traitement
ALTER TABLE IF EXISTS en_equipement_physique ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
ALTER TABLE IF EXISTS en_equipement_virtuel ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
ALTER TABLE IF EXISTS en_application ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
ALTER TABLE IF EXISTS en_operation_non_it ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
ALTER TABLE IF EXISTS en_messagerie ADD COLUMN IF NOT EXISTS statut_traitement varchar(255);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment