testcontainers / testcontainers/testcontainers-java
[Bug]: Error in running test on kube-jenkins
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 8.7k
- Fork
- 1.9k
- Merge medio
- 2g 17h
- PR unite (30g)
- 9
Descrizione
Module
PostgreSQL
Testcontainers version
1.16.3
Using the latest Testcontainers version?
Yes
Host OS
linux
Host Arch
x86
Docker version
Container Runtime Version: docker://20.10.7
What happened?
I am using testcontainers for my unit test for repository, it passes locally but failed in the jenkins, and it only have one line log trace:
EntityRepositoryTest > initializationError FAILED
com.github.dockerjava.api.exception.InternalServerErrorException at DefaultInvocationBuilder.java:247
Here are my code, I retaged and pushed postgres:13.2 to company's private jfrog
public class MyRepositoryPostgresqlContainer extends PostgreSQLContainer<MyRepositoryPostgresqlContainer> {
static private DockerImageName myImage = DockerImageName.parse("comany./postgres:13.2").asCompatibleSubstituteFor("postgres");
private static MyRepositoryPostgresqlContainer container;
private MyRepositoryPostgresqlContainer(DockerImageName myImage) {
super(myImage);
}
public static MyRepositoryPostgresqlContainer getInstance() {
if (container == null) {
container = new MyRepositoryPostgresqlContainer(myImage)
.withDatabaseName("XXX")
.withUsername("XXX")
.withPassword("XXX);
}
return container;
}
...
}
@ContextConfiguration(initializers = {MyTest.Initializer.class})
public class MyTest {
@ClassRule
public static PostgreSQLContainer postgreSQLContainer = MyRepositoryPostgresqlContainer.getInstance();
static class Initializer
implements ApplicationContextInitializer<ConfigurableApplicationContext> {
public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
TestPropertyValues.of(
"spring.datasource.url=" + postgreSQLContainer.getJdbcUrl(),
"spring.datasource.username=" + postgreSQLContainer.getUsername(),
"spring.datasource.password=" + postgreSQLContainer.getPassword()
).applyTo(configurableApplicationContext.getEnvironment());
}
}
}
@SpringBootTest
@RunWith(SpringRunner.class)
public class EntityRepositoryTest extends MyTest{
@Autowired
private MyRepository repo;
@Test
public void test() {
MyEntity myEntity = MyEntity.builder().
....
.build();
repo.saveAndFlush(myEntity);
assertEquals(1, repo.findAll().size());
}
}
Any suggestion helps, Thanks
Relevant log output
EntityRepositoryTest > initializationError FAILED
com.github.dockerjava.api.exception.InternalServerErrorException at DefaultInvocationBuilder.java:247
### Additional Information
_No response_
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con EntityRepositoryTest e MyRepositoryPostgresqlContainer, quindi riproduci il fallimento nell’ambiente kube-jenkins utilizzando la configurazione delle immagini Docker e PostgreSQL indicata. Raccogli i log completi di Docker e Jenkins oltre la singola riga InternalServerErrorException e confrontali con un’esecuzione locale riuscita. Il lavoro è completato quando viene identificata la causa specifica dell’ambiente e viene documentata o implementata una risoluzione verificata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- docker, java, postgresql
- Ambito
- ci-cd, databases, testing
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100