Mirasy chciałem napisać integracyjny test uderzając pod dany endpoint w controllerze gdzie używam spring webfluxa i w którymś z kolei serwisie uderzam do dwóch zewnętrznych apek. I właśnie te dwa calle chciałem zmockować, ale otrzymuję timeout. Korzystam z WebTestClient i MockWebServer.
Tutaj więcej szczegółów i kod. Pomoże ktoś? Bo siedzę już którąś godzinę nad tym ( ͡° ʖ̯ ͡°)
https://stackoverflow.com/questions/77957328/mocking-webclient-response-in-integration-test-using-mockwebserver-or-alternativ

#spring #springboot #programista15k
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirek_dev: akurat z webfluxa nie korzystałem nigdy. Próbowałeś na próbę użyć jakiegoś standardowego, niereaktywnego rest clienta?
To co opisał @farowy to też rozwiązanie, ale to już znacznie więcej roboty, żeby później to jeszcze osetapować na środowisku testowym itp
  • Odpowiedz
Czy nazwy endpointów z rolami, które mogę ich używać są ok czy raczej nie powinno się tak robić? Np. /public/products albo /admin/orders. Ułatwia to dość konfiguracje Spring Security, bo po prostu piszesz, że pod /public/* mogą wejść wszyscy a pod"/admin/* tylko admini i nie trzeba do każdego zasobu pisać oddzielnego konfiga.
#java #spring #naukaprogramowania #programowanie #programista15k
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Nofenak: domyślną daj publiczna, bez nazywania czyli na przykład /products albo /orders.

Jak chcesz żeby użytkownicy z innymi rolami dostawali inne zasoby, to wtedy dorzuć endpointy pod ten typ użytkownika: /admin/products albo /admin/orders
  • Odpowiedz
@Nofenak: Imho największy sens ma dzielenie według konsumenta API. Np. jeśli masz publiczne API, API pod frontend użytkownika i pod frontend admina, to powinny mieć one własne ścieżki. Wtedy masz największą elastyczność przy zmianie poszczególnych endpointów i wiesz na których konsumentów wpłyną te zmiany. Dodatkowo można pod każdego konsumenta ustawić stosowne nagłówki, caching, itp.
  • Odpowiedz
Cześć,
mam taką klasę pomocniczą do testów, która odpytuje DB.

@Component
public class DatabaseHelper {
private final DataSource dataSource;
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Kamishimi: Jeden rabin powie tak, a inny powie nie. Moim zdaniem aby zachować SRP ta klasa powinna nazywać się UserDatabaseHelper albo UserRepository. W przeciwnym razie będą do niej trafiać wszystkie funkcjonalności bazodanowe, bo nazwa DatabaseHelper jest bardzo pojemna i w dużym projekcie skończysz z ogromna klasą, która zwraca info o użytkownikach i wszystkim innym, co masz w projekcie.

Oczywiście, można dywagować czy UserRepository też nie jest za dużym konceptem.
  • Odpowiedz
@PiotrX1: W google wpisujesz frazę "koszulki z nadrukiem". Przy zamówieniu podajesz literki w tej samej kolejności co na zdjęciu żeby nie straciło sensu i dalej to już formalności jak przy każdym zakupie. Mam nadzieję, że pomogłem ;-)
  • Odpowiedz
Lepiej pisać testy tak

@test
void whenEmailExist_ThrowException() {
assertException(() -> registration.register(registrationHelper.existEmail),
CredentialValidationException.class, "Email is already
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#java #springboot #oauth2 #apple

Cześć Mirki, mam pewien problem z logowaniem przez Apple. Wrzuciłem integrację logowania przez Social Media z wykorzystaniem OAuth2 i Facebook i Google działa bez zarzutu natomiast Apple za każdym po poprawnym zalogowaniu i w momencie przekierowania do aplikacji to zwraca błąd: Invalid CORS Request.

Adres ustawiony w returnUri zarówno w Apple Developer i aplikacji jest https:app.nazwa_domeny.com/api/oauth2/callback/apple

W
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czołem Mireczki!

przymierzam się do zmiany pracy. Jakiś większy januszsoft przejął januszsoft, w którym obecnie pracuję. Zanim to zaorają to minie pewnie kilka miesięcy, może nawet rok. Jest nawet opcja, że może by się udało wkomponować w firmę-najeźdźcę ale nie chcę zostawać na lodzie, więc powoli zaczynam szukać czegoś nowego. Mam 2,5 roku expa.
Pytanie brzmi jak teraz wygląda rekrutacja na takiego java wczesnego mida/późnego juniora? Tak samo jak na entry level dają
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pulaas: Myślę, że najważniejsze są podstawy. Czyli do czego kontrakt hashCode+equals, obiektowość, co to jest DI, REST, wzorce projektowe jakie znasz, nowosci w Javie jakie sa, Lombok vs nowa Java, co to jest wyscig, roznica miedzy noSql a SQL, co to jest CI vs CD, SOLID, KIS, DRY, kolekcje w Javie do czego sa ktore uzywasz kiedy. Takie rzeczy pytają bardzo często. Pozdro i trzymam kciuki :)
  • Odpowiedz
#programowanie #java #javascript #python
Ktoś poleci kurs Pythona dla deva ze sporym doświadczeniem w programowaniu w innych językach (java/js)? Wrzucili mnie do projektu i z dwóch pythonowców ostał się jeden, chciałbym go w niedługim czasie zacząć suportować, a przy okazji traktuję to jako fajne wyzwanie na ten rok więc fajnie jakby ktoś z tej działki polecił coś sprawdzonego.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@cppguy: mówimy o JSie, OP nie pisał nic o TSie którym wszyscy sie brandzlują. I nie wiem czy jest standardem, ostatnio jak pisałem w JSie to wszyscy sie brandzlowali ECMA SCRIPT XX (nawet nie pamiętam którą wersją)
  • Odpowiedz
Wiecie, że wapster pl ciągle działa i możecie pobrać te stare gierki, tylko tym razem bez bycia okradzionym na miliony monet?
Znacie jakieś inne serwisy które w podobny sposób rozprowadzały gry na stare telefony? W sumie to chcę trochę powspominać.

#java #nostalgia #staretelefony #wapster #staregry
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
mają mikropłatności nadal, ale wsm nie wiem czy jeszcze działają xD. Moich starych nokiach bez karty sim zdecydowanie nie
  • Odpowiedz
Przy pobieraniu np. komentarzy danego posta, to powinienem najpierw pobrać post, rzucić wyjątek jeśli go nie ma i potem z tego posta pobrać komentarze czy od razu pobrać komentarze po id posta? Pierwszy sposób jest pewnie wolniejszy, ale user dostaje info, że taki post w ogóle nie istnieje a w drugim dostanie tylko pustą listę i nie wiadomo, czy post nie istnieje, czy po prostu nie ma żadnych komentarzy.
#programowanie
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Nofenak: Jak najbardziej możesz zwracać body w przypadku odpowiedzi 404 Not Found. Chociażby po to żeby móc rozróżniać między tym czy faktycznie nie znaleziono zasobu o który pytasz (w tym przypadku posta), czy przez pomyłkę nie uderzyłeś przypadkiem do ścieżki która w ogóle nie istnieje.
  • Odpowiedz
✨️ Obserwuj #mirkoanonim
#java #programowanie #programista15 #naukaprogramowania

Bezrobotny java dev z rocznym doświadczeniem here.
Czy są tu osoby rekrutujące programistów? Jeżeli tak, to czy projekty na github mają znaczenie? I znowu jeżeli tak, to co warto napisać, żeby wzbudzić zainteresowanie rekrutera? Zajmuję się webówką, ale jakieś gry czy coś takiego też wchodzą w grę. Nie znam nic frontowego, czy warto poświęcić wolny czas i dorobić
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mirko_anonim: Ja uciekam od javy. Ten język jest tłuczony na wszystkich studiach i bootcampach pomimo, że zapotrzebowanie na kolejnych klepaczy nie rośnie. Co miało być napisane w javie to już zostało napisane. Projektów greenfieldowych brak a to co jest to utrzymanie i dłubanie w legacy w jakiś korporacjach. Jak ktoś już jest biegły w tym ekoświecie to marne szanse, że zwolni miejsce dla jakiegoś juniora.
  • Odpowiedz
Czy są tu osoby rekrutujące programistów?


@mirko_anonim: wiadomo, że lepiej mieć jakieś realne portfolio + będziesz mógł pogadać na ten temat z rekruterem, jak będziesz gadał z entuzjazmem na temat tego co tam ostatnio sobie pisałeś to będą wiedzieć że mają do czynienia z zajawkowiczem a nie tylko klepaczem (co na pewno ma znaczenie przy kimś co ma doświadczenia 1 rok)
  • Odpowiedz
@jozinzbazin_bozy Pobierasz paczkę serwerową najlepiej coś pokroju atm. Rozpakowujesz, edytujesz plik konfiguracji i odpalasz na screenie. Mogę Ci to ogarnąć w sobotę po południu. Ja mam serwer na starym kompie (i5/16GB ram dysk ssd i spokojnie gra kilka osób).
  • Odpowiedz