- Lokaali kehitys
- Palvelun ajaminen paikallisesti testiympäristöä vasten
- Testien ajaminen
- REPL-yhteys palvelimeen ja selaimeen
- Palvelun paikalliset osoitteet
- Tuotantokäyttö
Paytrail-flowta voi kehittää/testata lokaalilla kannalla seuraavilla askelilla:
-
Varmista että ajossa on oikea Node-versio (Asenna nvm jos ei asennettu):
nvm use
-
Lisää hosts-tiedostoon:
127.0.0.1 maksut-local.test
-
Käynnistä sovellus shellissä:
make start-local CONFIG=oph-configuration/config.dev.edn
-
Kirjaudu sovellukseen menemällä osoitteeseen: https://localhost:9000/maksut/auth/cas?ticket=abc (tikettiparametrin arvolla ei ole väliä).
-
Mene swagger-ui:hin osoitteessa: https://localhost:9000/maksut/swagger, ja tee Maksut -> /maksut/api/lasku-tutu POST-kutsu (esimerkiksi) seuraavalla payloadilla:
{ "application-key": "12345", "first-name": "test", "last-name": "test", "email": "test@example.com", "amount": "11", "due-date": "2025-03-03", "index": 1 }Huomaa että "application-key" -kentän tulee olla uniikki uuden laskun luomiseksi. Kutsu palauttaa seuraavan muotoisen vastauksen:
{ "order_id": "TTU12345-1", "first_name": "test", "last_name": "test", "amount": "123.00", "due_date": "2024-05-06", "status": "active", "secret": "VFRVYXRhcnUtMQZoGsstaDlfq3h5AU8Mv78nm0cvV01abrNuMvTlGK4j6DyA", "paid_at": "" } -
Mene osoitteeseen: https://localhost:9000/maksut/?secret=&locale=fi (secret-parametrin arvo otetaan edellisen kutsun vastauksesta). Tästä voit nakutella flown läpi painamalla "Siirry maksamaan" ja valitsemalla Paytrailin puolella maksutavaksi OP:n.
-
Tapahtuman tuloksena lähetetyt mailit voi katsoa Mailcatcherista osoitteesta: http://localhost:1080/.
Kloonaa ja valmistele omien ohjeiden mukaan käyttökuntoon local-environment -ympäristö.
- Valmistele palvelun konfiguraatio
- Mene aiemmin kloonaamaasi local-environment -repositoryyn.
- Mikäli et ole vielä kertaakaan valmistellut local-environment -ympäristöä, tee se repositoryn ohjeiden mukaan.
- Generoi konfiguraatiotiedosto palvelua varten. Generointi lataa S3:sta untuva-, hahtuva- ja pallero -ympäristöjen salaisuudet ja generoi jokaista ympäristöä vastaavan maksut-palvelun konfiguraation. Tee siis tämä local-environment -repoistoryssä.
rm -f .opintopolku-local/.templates_compiled # Aja tämä komento, mikäli haluat pakottaa konfiguraation generoinnin make compile-templates- Konfiguraatiotiedostot löytyvät nyt local-environment -repositoryn alta hakemistosta
oph-configurations/{hahtuva,pallero,untuva}/oph-configuration/maksut.config.edn
- Valmistele nginx -containerin konfiguraatio
- Mikäli käytät Mac OS -käyttöjärjestelmää, sinun ei tarvitse tehdä mitään.
- Mikäli käytät Linuxia, etkä Mac OS -käyttöjärjestelmää, editoi tämän repositoryn
nginx/nginx.conf-tiedostoa: korvaa kaikkihost.docker.internal-osoitteet sillä IP-osoitteella, joka koneesidocker0-sovittimessa on käytössä. Tämän IP:n saat esimerkiksi komennolla/sbin/ifconfig docker0selville. - Mikäli käytät Windowsia (ja/tai WSL:ää) lisää kumpaisenkin hosts tiedostoon seuraavat: (Windows 127.0.0.1 tai WSL2 ::1 koska IPv6)
::1 hakuperusteetdb
::1 valintalaskenta.kehittajan-oma-kone.untuvaopintopolku.fi
::1 valintalaskenta-ui.kehittajan-oma-kone.untuvaopintopolku.fi
::1 valintalaskentakoostepalvelu.kehittajan-oma-kone.untuvaopintopolku.fi
::1 valintaperusteet-service.kehittajan-oma-kone.untuvaopintopolku.fi
::1 valintaperusteet-ui.kehittajan-oma-kone.untuvaopintopolku.fi
::1 ataru-virkailija.kehittajan-oma-kone.untuvaopintopolku.fi
::1 ataru-hakija.kehittajan-oma-kone.untuvaopintopolku.fi
::1 ataru-figwheel-virkailija.kehittajan-oma-kone.untuvaopintopolku.fi
::1 ataru-figwheel-hakija.kehittajan-oma-kone.untuvaopintopolku.fi
::1 ataru-figwheel-hakija.kehittajan-oma-kone.testiopintopolku.fi
::1 ataru-redis.kehittajan-oma-kone.testiopintopolku.fi
::1 ataru-redis.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 liiteri.kehittajan-oma-kone.untuvaopintopolku.fi
::1 valinta-tulos-service.kehittajan-oma-kone.untuvaopintopolku.fi
::1 valintalaskenta.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 valintalaskenta-ui.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 valintalaskentakoostepalvelu.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 valintaperusteet-service.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 valintaperusteet-ui.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 ataru-virkailija.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 ataru-hakija.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 ataru-figwheel-virkailija.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 ataru-figwheel-hakija.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 liiteri.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 valinta-tulos-service.kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 valintalaskenta.kehittajan-oma-kone.testiopintopolku.fi
::1 valintalaskenta-ui.kehittajan-oma-kone.testiopintopolku.fi
::1 valintalaskentakoostepalvelu.kehittajan-oma-kone.testiopintopolku.fi
::1 valintaperusteet-service.kehittajan-oma-kone.testiopintopolku.fi
::1 valintaperusteet-ui.kehittajan-oma-kone.testiopintopolku.fi
::1 ataru-virkailija.kehittajan-oma-kone.testiopintopolku.fi
::1 ataru-hakija.kehittajan-oma-kone.testiopintopolku.fi
::1 ataru-figwheel-virkailija.kehittajan-oma-kone.testiopintopolku.fi
::1 ataru-figwheel-hakija.kehittajan-oma-kone.testiopintopolku.fi
::1 liiteri.kehittajan-oma-kone.testiopintopolku.fi
::1 valinta-tulos-service.kehittajan-oma-kone.testiopintopolku.fi
::1 kehittajan-oma-kone.testiopintopolku.fi
::1 kehittajan-oma-kone.hahtuvaopintopolku.fi
::1 kehittajan-oma-kone.untuvaopintopolku.fi
::1 ataru-redis.kehittajan-oma-kone.untuvaopintopolku.fi
::1 toimimaton.virkailija-host-arvo.test.edn-tiedostosta
- Konfiguroi SSH-client
-
Tarvitset SSH-tunnelia varten SSH-konfiguraatioosi tiedon useista porttiohjauksista. Maksut-palvelu (sekä Ataru-TuTu testailua esim. Untuvan ympäristöä varten) on tarpeen tunneloida ainakin seuraavat:
- 28888:alb.untuvaopintopolku.fi:80
- 55437:ataru.db.untuvaopintopolku.fi:5432
- 55446:ataru.redis.untuvaopintopolku.fi:6379
- 55099:maksut.db.untuvaopintopolku.fi:5432
- 55088:lokalisointi.db.untuvaopintopolku.fi:5432
-
Kun olet ensin alustanut local-environment -ympäristön kohdan 1 mukaan, voit yksinkertaisimmillaan lisätä seuraavan rivin
~./ssh/config-tiedostosi ensimmäiseksi riviksi:
Include /polku/local-environment-repositoryysi/docker/ssh/config- Mikäli et halua määrittää kyseistä
Include-direktiiviä, voit tarjota kyseiset porttiohjauskonfiguraatiot SSH-clientillesi jotenkin toisin.
-
Maksuputkea voi testata seuraavasti QA:lla
- Täytä TuTun lomake: https://testiopintopolku.fi/hakemus/74825f61-e561-447e-bef4-1bb5be4ea44a
- Jos lomake on vaihtunut niin lomakkeen tunnisteen löytää myös atarun QA:n konfiguraatioista
- Ohjautuu ekaan maksuun, valitse Osuuspankki maksutavaksi
- Maksun jälkeen fakemaileriin (https://fakemailer.testiopintopolku.fi/) ilmestyy hakemuksen muokkauslinkki ja erillinen maili jossa kuitti
- Tämän jälkeen mene hakemusten käsittelyyn ja vaihda organisaatioksi Tutkintojen tunnustaminen
- Avaa lomakkeen hakemukset (HAKEMUS / Tutkintojen tunnustaminen)
- Avaa listauksesta edellä täytetty hakemus
- käsittelyvaiheena pitäisi olla Käsittely maksettu
- Vaihda käsittelytilaksi "Päätösmaksu avoin", syötä maksun määrä ja viesti ja lähetä maksupyyntö
- Avaa fakemailerista hakijalle lähetetty sähköposti ja klikkaa sieltä maksulinkkiä
- Klikkaile maksuputken läpi
- Hakemusten käsittelyssä pitäisi nyt näkyä molemmat maksukuitit
Tämä on suositeltu tapa ajaa palvelua paikallisesti. Tässä ohjeessa oletetaan, että local-environment -repository löytyy maksut -hakemiston vierestä, samasta hakemistosta.
Käynnistetty palvelu on käytettävissä osoitteessa (http://localhost:9099/maksut).
Maksua voi testata paytrailissa valitsemalla Osuuspankin maksutavaksi.
Kun ajat palvelua, käynnistä aina ensin SSH-yhteys käyttämääsi ympäristöön. Oletuksena se on untuva:
ssh bastion.untuva
export CONFIG='../local-environment/oph-configurations/local/maksut.config.edn'
# TAI
export CONFIG='../local-environment/oph-configurations/untuva/oph-configuration/maksut.config.edn'
make start-local # Palvelun käynnistäminen
make reload # Palvelun uudelleenlataaminen, ei uudellenkäynnistä docker-kontteja
make restart-local # Palvelun uudelleenkäynnistys, uudelleenkäynnistää docker-kontitmake killmake logsmake statusSwagger UI löytyy polusta /maksut/swagger/index.html
Swagger JSON löytyy polusta /maksut/swagger.json
npm run lint:cljKäynnistä ensin bäkkäri komennolla
make start-test CONFIG=oph-configuration/config.test.local-environment.edn
Aja sen jälkeen lein testit käyttäen lokaalia konfiguraatiotiedostoa:
CONFIG=oph-configuration/config.test.local-environment.edn lein test
Käynnistä backend kuten backend-testejä varten, sekä käyttöliittymä
cd src/maksut-ui
npm run start-testKäynnistä testit (avaa käyttöliittymä lisäämällä --ui flag)
npx playwright testOikeaa Paytrailia vasten komennolla:
WITH_PAYTRAIL=TRUE npx playwright testREPL-yhteys palvelimelle avautuu sanomalla komentorivillä
lein repl :connect localhost:9034- Palvelun osoite: (http://localhost:9099/maksut)
Seuraava komento luo tämän repositoryn target -hakemistoon tiedoston maksut.jar.
lein with-profile prod uberjarCONFIG=/polku/palvelun/config-tiedostoon java -jar maksut.jar