-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update README with local e2e test instructions
Fix Markdown linter warnings too
- Loading branch information
Showing
2 changed files
with
65 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ Palvelu on irroitettu [ehdokastietojärjestelmästä](https://github.com/hyy-vaa | |
itsenäiseksi osaksi palvelemaan sähköistä äänestämistä. | ||
|
||
|
||
# Käyttäjätyypit | ||
## Käyttäjätyypit | ||
|
||
Järjestelmässä on ainoastaan yksi käyttäjätyyppi: AdminUser. | ||
Pääsyoikeustasot on määritetty tiedostossa `app/models/ability.rb`. | ||
|
@@ -14,16 +14,17 @@ Pääsyoikeustasot on määritetty tiedostossa `app/models/ability.rb`. | |
- Täysi oikeus kaikkeen. | ||
|
||
|
||
# Testiajo | ||
## Testiajo | ||
|
||
```bash | ||
```shell | ||
rake db:runts | ||
rspec | ||
rake db:seed:demo | ||
``` | ||
|
||
Käynnistä vaalitulostin: | ||
```bash | ||
Vaalitulostimen käynnistäminen: | ||
|
||
```shell | ||
foreman run worker | ||
rails s | ||
tail -f log/development.log | ||
|
@@ -32,10 +33,12 @@ tail -f log/development.log | |
Käynnistä voting-apin web ja worker (ks. ohjeet voting-api/README). | ||
|
||
Avaa http://127.0.0.1:3001/ | ||
|
||
* [email protected] / pass123 | ||
* "Failed to open TCP connection to localhost:3000" tarkoittaa ettei voting-api ole käynnissä. | ||
|
||
Hae äänet Voting API:lta ja laske vaalitulos: | ||
|
||
```ruby | ||
Delayed::Job::enqueue(ImportVotesJob.new(VotingArea.first)) | ||
``` | ||
|
@@ -46,39 +49,73 @@ Delayed::Job::enqueue(ImportVotesJob.new(VotingArea.first)) | |
Kun lähetät sisäänkirjautumislinkin, voting-apin workerin pitää olla käynnissä | ||
saadaksesi siitä sähköpostin. Voit tarkistaa sisäänkirjautumislinkin tiedot | ||
ajamalla seuraavan komennon voting-api:n hakemistossa: | ||
```bash | ||
|
||
```shell | ||
rake jwt:voter:verify jwt=EMAIL_LINKISSÄ_OLEVA_TOKEN | ||
``` | ||
|
||
## Vuoden 2009 äänillä | ||
### Testiajo Voting API:sta haetuilla äänillä | ||
|
||
Syötä vuoden 2009 demo-äänet Voting API:iin: | ||
|
||
```shell | ||
voting-api> rake db:runts | ||
voting-api> rake db:seed:edari:demo | ||
voting-api> rake db:seed:edari:demo:votes | ||
``` | ||
|
||
Aseta Voting API:ssa äänestys päättyneeksi, jotta äänet voidaan hakea. | ||
|
||
Syötä Vaalitulostimen .env VOTING_API_JWT_APIKEY. | ||
|
||
```shell | ||
voting-api> rake jwt:service_user:generate expiry_hours=1000 | ||
``` | ||
|
||
Käynnistä Vaalitulostimen web ja worker (ohjeet ylempänä). | ||
|
||
Hae äänet Vaalitulostimeen Voting API:sta: | ||
http://127.0.0.1:3001/manage/results | ||
|
||
Virheilmoitus näkyy tietodstossa log/development.log. | ||
Vastaus HTTP 401 tulee,jos vaalit eivät ole vielä päättyneet. | ||
voting-api> ELECTION_TERMINATES_AT, VOTE_SIGNIN_ENDS_AT | ||
|
||
### Testiajo Vaalitulostimen demodatan vuoden 2009 äänillä | ||
|
||
Syötä äänet seed-datasta käyttäen vain yhtä äänestysaluetta: | ||
```bash | ||
|
||
```shell | ||
rake db:seed:development:internet_votes_2009 | ||
``` | ||
|
||
Syötä äänet seed-datasta vuoden 2009 äänestysalueille: | ||
```bash | ||
|
||
```shell | ||
rake db:seed:development:voting_areas_2009 | ||
rake db:seed:development:votes_2009 | ||
``` | ||
|
||
Laita jonoon tuloksen laskentatyö: | ||
|
||
```ruby | ||
VotingArea.all.each { |a| a.ready!; a.submitted! } | ||
Delayed::Job.enqueue(CreateResultJob.new) | ||
``` | ||
|
||
Tulosta konsoliin: | ||
|
||
```ruby | ||
puts ResultDecorator.decorate(Result.last).to_html | ||
``` | ||
|
||
Merkitse tulos valmiiksi arvontoja varten: | ||
|
||
```ruby | ||
Result.freeze_for_draws! | ||
``` | ||
|
||
# Heroku-ympäristön pystyttäminen | ||
## Heroku-ympäristön pystyttäminen | ||
|
||
Pystytä ensin voting-api. | ||
|
||
|
@@ -88,20 +125,24 @@ Nollaa aiempi tietokanta poistamalla Heroku Postgres addon ja lisäämällä se | |
* Tuotantoa varten valitse maksullinen Postgres Hobby $9/kk. | ||
|
||
Alusta tietokanta: | ||
|
||
* `rake db:schema:load` | ||
|
||
Luo äänestysalue ja tiedekunnat: | ||
|
||
* `rake db:seed:production` | ||
|
||
Lataa Seed-data Ehdokasjärjestelmän tiedoilla: | ||
|
||
* Valitse Ehdokasjärjestelmän admin-käyttöliittymästä csv-export kullekin resurssille. | ||
* Kun sinulla on candidates.csv, alliances.csv ja coalitions.csv, suorita: | ||
- `rake db:seed:edari` | ||
|
||
* Luo admin-käyttäjä vaalityöntekijälle: | ||
AdminUser.create!(:email => 'admin@example.com', :password => 'pass123', :password_confirmation => 'pass123') | ||
* AdminUser.create!(:email => 'petrus@petafox.com', :password => 'buggy-GLAMOR-posit-santiago', :password_confirmation => 'buggy-GLAMOR-posit-santiago') | ||
|
||
Admin-käyttäjiä voi lisätä järjestelmään äänioikeutettuja, kun äänestys on käynnissä. | ||
|
||
* Äänestyksen aikana lisätty äänioikeutettu voi kirjautua yliopiston käyttäjätunnuksella. | ||
* Jos äänioikeutetulla ei vielä ole yliopiston käyttäjätunnusta, Admin-käyttöliittymästä voi | ||
lähettää hänelle sähköpostitse sisäänkirjautumislinkin. | ||
|
@@ -123,17 +164,21 @@ Admin-käyttäjiä voi lisätä järjestelmään äänioikeutettuja, kun äänes | |
Vaalitulostin kirjoittaa lasketun vaalituloksen AWS S3:een. | ||
|
||
AWS IAM -käyttöoikeudet antavat kirjoitusoikeuden vuosiluvun mukaiseen hakemistoon: | ||
* `vaalitulostin-YMPÄRISTÖ/vuosiluku` | ||
* esimerkiksi `vaalitulostin-qa/2020` | ||
|
||
* `vaalitulostin-YMPÄRISTÖ/vuosiluku` | ||
* esimerkiksi `vaalitulostin-qa/2020` | ||
|
||
Päivitä jokaisen ympäristön (prod, qa, test) IAM-rooliin oikean vuosiluvun hakemisto. | ||
* Avaa IAM > Users > Permissions | ||
|
||
* Avaa IAM > Users > Permissions | ||
|
||
Luo jokaisen ympäristön S3 Buckettiin vuosiluvun mukainen hakemisto AWS web-käyttöliittymästä. | ||
* IAM-käyttäjällä ei ole oikeutta luoda uusia hakemistoja. | ||
|
||
* IAM-käyttäjällä ei ole oikeutta luoda uusia hakemistoja. | ||
|
||
Testaa S3-kirjoitusoikeus: | ||
* `S3Publisher.new.test_list_objects` | ||
* `S3Publisher.new.test_write` | ||
* Jos S3-kirjoitus onnistuu, aikaleima päivittyy tiedostoon (esim qa-bucketissa) | ||
https://s3.amazonaws.com/vaalitulostin-qa/VUOSILUKU/lulz.txt | ||
|
||
* `S3Publisher.new.test_list_objects` | ||
* `S3Publisher.new.test_write` | ||
* Jos S3-kirjoitus onnistuu, aikaleima päivittyy tiedostoon (esim qa-bucketissa) | ||
https://s3.amazonaws.com/vaalitulostin-qa/VUOSILUKU/lulz.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters