Testy po wdrożeniu: scenariusze CI/CD i sprawdzenia deep
Udane wdrożenie oznacza, że zakończył się proces publikacji kodu. Nie potwierdza jeszcze, że aplikacja poprawnie obsługuje użytkownika. Test dymny po wdrożeniu może otworzyć produkt i sprawdzić koszyk, a sprawdzenie deep potwierdzić stan zadania w tle. W DockRay oba rodzaje testów są scenariuszami, ale sprawdzają różne warstwy.
Uruchomienie scenariusza z CI/CD
W ustawieniach scenariusza znajdziesz informacje o wywołaniu zewnętrznym. Użyj prywatnego klucza jego projektu jako tokenu Bearer. Klucz trzymaj w chronionych sekretach pipeline, nie w repozytorium ani w publicznym logu. Wyzwalanie z zewnątrz wymaga odpowiedniej funkcji planu konta.
POST /api/v1/flows/{flow}/run
Authorization: Bearer <PROJECT_PRIVATE_KEY>
W miejsce {flow} podstaw identyfikator scenariusza z panelu. Odpowiedź 202 ze stanem queued potwierdza przyjęcie zlecenia, a nie zaliczenie testu. Odczytaj poll_url i requested_at z odpowiedzi.
Jak uniknąć odczytania starego wyniku?
Odpytuj zwrócony adres z parametrem since ustawionym na otrzymane requested_at i poprawnie zakodowanym w URL. Dzięki temu nie uznasz poprzedniego przebiegu za wynik nowego wdrożenia. Stany oczekujące, w tym queued, running i pending, wymagają dalszego odpytywania. Dopiero passed potwierdza zaliczenie; failed oznacza porażkę, a inconclusive brak rozstrzygnięcia. Nie oceniaj testu wyłącznie po kodzie HTTP lub polu success.
Parametr wait pozwala czekać na wynik maksymalnie dwie minuty. Parametr delay odkłada test o podaną liczbę minut, standardowo od 1 do 60, np. na czas rozgrzania cache. Przy opóźnieniu odpowiedź wraca od razu; nie łącz go z oczekiwaniem na tym samym połączeniu. Obsłuż też ograniczenia częstotliwości i wyczerpanie budżetu zamiast bez końca ponawiać żądanie.
Co powinien zwracać endpoint deep?
Przygotuj publiczny endpoint HTTPS zabezpieczony tokenem, który zwraca JSON. DockRay wywołuje go, ale nie wykonuje przesłanego przez Ciebie kodu. Przykład odpowiedzi:
{"status":"pass","message":"Import completed","steps":[{"label":"Import","status":"pass","duration_ms":12}]}
Używaj pass dla spełnionego warunku, fail dla niespełnionego i skip, gdy sprawdzenie nie może wydać werdyktu. Określ mierzalne kryterium, np. wiek ostatniego poprawnego importu. Nie zwracaj sekretów ani danych klientów w komunikacie. Token tego endpointu i prywatny klucz projektu DockRay pełnią różne role.
Czy można uruchamiać testy przez MCP?
Tak: narzędzia flows.list, flows.get i flows.run służą do odczytu i wyzwalania scenariuszy. Wymagają dostępu do MCP i właściwych uprawnień klucza; samo prawo odczytu nie pozwala uruchamiać testów. Nadal obowiązują plan i limity przebiegów.
Dobierz rodzaj testu z poradnikiem monitoringu syntetycznego, a nieudany wynik przeanalizuj według instrukcji diagnostyki.