Testkeskkonna taastamine

Joel Edenberg

Üritades tarkvara ehitamise protsess üle viia GitHub Actions keskkonda, tekkis probleem integratsioonitestidega, mis järku enam ei töötanud. Esialgu kahtlustasime pikalt probleemi kasutuses oleva SpringBoot embedded Kafka või Wiremockiga. Aga lõpuks selgus, et viga oli hoopis Ping veebiressursi testiga, mis muuhulgas kutsus välja ka /abort veebiteenust. Seda kasutab Kubernetes, et sulgeda rakendus enne konteineri sulgemist. Ja lisaks rakenduse töö sulgemisele peatab see ka Kafka teemade (topic) kuulamise. Kuid peale testi lõppu ei pandud Kafkat uuesti tööle. Varasemalt oli juhuslikult selle ressurssi test peale kõiki teste, mis vajasid Kafkat. Kuid uues GitHubi jaoks tehtud Dockeri konterineris järjekord muutus.

Loo moraal on tegelikult kõigile teada, kuid vajab millegi pärast regulaarselt ülekordamist:

  • Testid peaks endale ise ettevalmistama sobiliku keskkonna
  • Testid, mis muudavad globaalset rakenduse olekut kõigi jaoks, peaksid hiljem ka esialgse olukorra taastama.