Git Product home page Git Product logo

hakurekisteri's Introduction

Suoritusrekisteri

Fronttidevaus ja mocha-testit

Setup:

Projekti ei näytä toimivan Node 6:tta uudemmilla versioilla (tulee Error: Cannot find module 'internal/fs'). Asenna Node 6 N-työkalulla (asenna se globaalisti npm:llä).

  1. Laita fronttikäännös pyörimään: npm run watch. Tämä kääntää coffeescriptit aina kun ne muuttuvat.
  2. Käynnistä serveri IDEAsta: SureTestJettyWithMocks, jolloin serveri toimii ilman ulkoisia depsuja
  3. Aja Mocha-testit selaimessa: http://localhost:8080/test/runner.html

Mocha-testit käyttävät tällä hetkellä suurelta osin frontend-mockeja, joten ne eivät juurikaan testaa serverikoodia.

Tarvittaessa voit päivittää front-riippuvuudet komennolla

bower update

Kaikki testit

Voit ajaa kaikki testit komentoriviltä komennolla mvn clean test

Build & Run

Näin voit ajaa sovellusta paikallisesti tuotannonkaltaisena setuppina, käyttäen paikallista h2-kantaa.

  1. Ihan ensin tarvitset devaukseen soveltuvan ~/oph-configuration-hakemiston, kopioi luokalta tai pyydä kaverilta.

  2. Lisää/muokkaa ~/oph-configuration/common.properties-tiedostoon seuraavat propertyt (jotta cas-ohjaukset toimivat oikein):

cas.callback.suoritusrekisteri=http://localhost:8080/suoritusrekisteri
cas.service.suoritusrekisteri=http://localhost:8080/suoritusrekisteri

Kommentoi pois ValintaTulosActor-luokan getSijoittelut-metodin ensimmäinen haara jotta käynnistyminen tapahtuu järkevässä ajassa:

private def getSijoittelu(q: ValintaTulosQuery): Future[SijoitteluTulos] = {
    //if (!initialLoadingDone) {
    //  Future.failed(InitialLoadingNotDone())
    //} else {
      if (q.cachedOk && cache.contains(q.hakuOid))
        cache.get(q.hakuOid)
      else {
        if (q.hakemusOid.isEmpty) {
          queueForResult(q.hakuOid)
        } else {
          callBackend(q.hakuOid, q.hakemusOid)
        }
      }
    //}
  }
  1. Käynnistä paikallinen serveri ajamalla IDEA:ssa luokka SureTestJetty.

Sovellus on saatavilla osoitteessa http://localhost:8080/suoritusrekisteri

Muutama huomio:

  • Katso tunnus ja salasana ~/oph-configuration/security-context-backend.xml:stä, käyttäjällä pitää olla ainakin ROLE_APP_SUORITUSREKISTERI rooli

API-dokumentaatio löytyy http://localhost:8080/suoritusrekisteri/swagger/index.html

Kehitystietokannat

Sovellusta paikallisesti ajettaessa se käyttää properties-tiedostossa määriteltyä Postgres endpointtia (suoritusrekisteri.db.url).

Paikallisesti ajettaessa käynnistä Postgres-palvelinprosessi esim. Dockerilla: docker run -p 5432:5432 postgres

Testeissä sovellus käyttää sisäistä Postgres-kantaa (ItPostgres.scala).

Arvosanavalidaattori

Arvosanojen tuonnissa käytettävä validaattori on erillisessä repositoriossa.

Validaattorin server-side -versio on buildattu sieltä Artifactoryyn ja on käytössä jarrina. Validaattorin client-side -versio on bundlattu samaan jarriin ja serveröidään ValidatorJavasccriptServletin toimesta.

Admin / Testauksen huomioita

  • Hakemusten synkronoinnin voi pakottaa kutsumalla GET /suoritusrekisteri/rest/v1/haut/refresh/hakemukset (synkronointi ajetaan automaattisesti parin tunnin välein)

hakurekisteri's People

Contributors

verneri avatar mikko-apo avatar raimohanska avatar timorantalaiho avatar laastine avatar hhamalai avatar rahcola avatar alexgofore avatar gofore-palomtu avatar jjkpentt avatar jonimake avatar jtscc avatar jvesala avatar augustk avatar blomqvie avatar patari avatar khusa avatar tomikat avatar jteuho avatar jasorvar avatar tiilitap avatar lassus avatar apturtia avatar mertant avatar akkar1 avatar jkytomak avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.