From 00ff47b7267e683356212cf44450c25a81ff0995 Mon Sep 17 00:00:00 2001 From: Ludovic Claude <ludovic.claude54@gmail.com> Date: Wed, 25 Oct 2017 19:52:58 +0200 Subject: [PATCH] Tests: moving to Docker compose --- captain.yml | 4 +- .../eu/hbp/mip/controllers/VariablesApi.java | 4 +- test.sh | 31 - tests/docker-compose.yml | 118 + tests/features-db/sql/create.sql | 15 - tests/features-db/sql/ipv6_listen.sh | 3 - tests/features-db/sql/values.csv | 2000 ----------------- tests/meta-db/sql/create.sql | 46 - tests/meta-db/sql/ipv6_listen.sh | 3 - tests/post-test-run.sh | 33 - tests/pre-test-run.sh | 110 - tests/test.sh | 76 + 12 files changed, 197 insertions(+), 2246 deletions(-) delete mode 100755 test.sh create mode 100644 tests/docker-compose.yml delete mode 100644 tests/features-db/sql/create.sql delete mode 100644 tests/features-db/sql/ipv6_listen.sh delete mode 100644 tests/features-db/sql/values.csv delete mode 100644 tests/meta-db/sql/create.sql delete mode 100755 tests/meta-db/sql/ipv6_listen.sh delete mode 100755 tests/post-test-run.sh delete mode 100755 tests/pre-test-run.sh create mode 100755 tests/test.sh diff --git a/captain.yml b/captain.yml index bc8842887..df758b1cd 100644 --- a/captain.yml +++ b/captain.yml @@ -6,6 +6,4 @@ target_image: post: - echo "Finished building portal-backend image" test: - - ./tests/pre-test-run.sh - - ./tests/test-run.sh - - ./tests/post-test-run.sh + - ./tests/test.sh diff --git a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java index b52344c7a..8664d5986 100644 --- a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java +++ b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java @@ -125,7 +125,7 @@ public class VariablesApi { LOGGER.info("Get groups and variables hierarchy"); String sqlQuery = String.format( - "SELECT * FROM meta_variables where target_table='%s'", featuresMainTable.toUpperCase()); + "SELECT * FROM meta_variables where upper(target_table)='%s'", featuresMainTable.toUpperCase()); SqlRowSet data = metaJdbcTemplate.queryForRowSet(sqlQuery); data.next(); String json = ((PGobject) data.getObject("hierarchy")).getValue(); @@ -138,7 +138,7 @@ public class VariablesApi { private List<String> loadVariables() { String sqlQuery = String.format( - "SELECT * FROM meta_variables where target_table='%s'", featuresMainTable.toUpperCase()); + "SELECT * FROM meta_variables where upper(target_table)='%s'", featuresMainTable.toUpperCase()); SqlRowSet data = metaJdbcTemplate.queryForRowSet(sqlQuery); data.next(); String json = ((PGobject) data.getObject("hierarchy")).getValue(); diff --git a/test.sh b/test.sh deleted file mode 100755 index 2b45b6434..000000000 --- a/test.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -set -e - -get_script_dir () { - SOURCE="${BASH_SOURCE[0]}" - - while [ -h "$SOURCE" ]; do - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$( readlink "$SOURCE" )" - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" - done - cd -P "$( dirname "$SOURCE" )" - pwd -} - -export WORKSPACE=$(get_script_dir) - -if pgrep -lf sshuttle > /dev/null ; then - echo "sshuttle detected. Please close this program as it messes with networking and prevents builds inside Docker to work" - exit 1 -fi - -if [[ $NO_SUDO || -n "$CIRCLECI" ]]; then - CAPTAIN="captain" -elif groups $USER | grep &>/dev/null '\bdocker\b'; then - CAPTAIN="captain" -else - CAPTAIN="sudo captain" -fi - -$CAPTAIN test diff --git a/tests/docker-compose.yml b/tests/docker-compose.yml new file mode 100644 index 000000000..bc81b52df --- /dev/null +++ b/tests/docker-compose.yml @@ -0,0 +1,118 @@ +version: '2' +services: + + # Expose the database to the host + db: + image: postgres:9.6.5-alpine + ports: + - "5432:5432" + hostname: db + networks: + - portal-bridge + environment: + POSTGRES_PASSWORD: test + + wait_dbs: + image: "waisbrot/wait" + restart: "no" + networks: + - portal-bridge + environment: + - TARGETS=db:5432 + + create_dbs: + image: "hbpmip/create-databases:1.0.0" + restart: "no" + networks: + - portal-bridge + environment: + DB_HOST: db + DB_PORT: 5432 + DB_ADMIN_USER: postgres + DB_ADMIN_PASSWORD: test + DB1: meta + USER1: meta + PASSWORD1: metapwd + DB2: features + USER2: features + PASSWORD2: featurespwd + DB3: portal + USER3: portal + PASSWORD3: portalpwd + depends_on: + - db + + meta_db_setup: + image: "hbpmip/sample-meta-db-setup:0.2.0" + container_name: "meta-db-setup" + restart: "no" + networks: + - portal-bridge + environment: + FLYWAY_DBMS: postgresql + FLYWAY_HOST: db + FLYWAY_PORT: 5432 + FLYWAY_DATABASE_NAME: meta + FLYWAY_USER: postgres + FLYWAY_PASSWORD: test + depends_on: + - db + + sample_db_setup: + image: "hbpmip/sample-data-db-setup:0.3.2" + container_name: "data-db-setup" + restart: "no" + networks: + - portal-bridge + environment: + FLYWAY_DBMS: postgresql + FLYWAY_HOST: db + FLYWAY_PORT: 5432 + FLYWAY_DATABASE_NAME: features + FLYWAY_USER: postgres + FLYWAY_PASSWORD: test + depends_on: + - db + + # Use latest version as this is the image under test + portal_backend: + image: "hbpmip/portal-backend" + container_name: "backend-test" + restart: "no" + ports: + - "65440:8080" + networks: + - portal-bridge + environment: + PORTAL_DB_URL: jdbc:postgresql://db:5432/portal + PORTAL_DB_SERVER: db:5432 + PORTAL_DB_USER: portal + PORTAL_DB_PASSWORD: portalpwd + META_DB_URL: jdbc:postgresql://db:5432/meta + META_DB_SERVER: db:5432 + META_DB_USER: meta + META_DB_PASSWORD: metapwd + FEATURES_DB_URL: jdbc:postgresql://db:5432/features + FEATURES_DB_SERVER: db:5432 + FEATURES_DB_USER: features + FEATURES_DB_PASSWORD: featurespwd + FEATURES_DB_MAIN_TABLE: sample_data + CONTEXT_PATH: /services + AUTHENTICATION: 0 + depends_on: + - db + + wait_portal_backend: + image: "waisbrot/wait" + restart: "no" + networks: + - portal-bridge + environment: + - TARGETS=portal_backend:8080 + depends_on: + - portal_backend + +networks: + portal-bridge: + external: + name: portal-bridge diff --git a/tests/features-db/sql/create.sql b/tests/features-db/sql/create.sql deleted file mode 100644 index 8bcd548a4..000000000 --- a/tests/features-db/sql/create.sql +++ /dev/null @@ -1,15 +0,0 @@ -SET datestyle to 'European'; - -CREATE TABLE IF NOT EXISTS FEATURES -( - tv1 char(256), - tv2 numeric, - tv3 numeric, - - CONSTRAINT pk_features PRIMARY KEY (tv2) -) -WITH ( - OIDS=FALSE -); - -COPY FEATURES FROM '/docker-entrypoint-initdb.d/values.csv' CSV HEADER; diff --git a/tests/features-db/sql/ipv6_listen.sh b/tests/features-db/sql/ipv6_listen.sh deleted file mode 100644 index a721d5893..000000000 --- a/tests/features-db/sql/ipv6_listen.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# This script will be executed when Postgres starts -echo "host all all fe80::/10 md5" >> /var/lib/postgresql/data/pg_hba.conf diff --git a/tests/features-db/sql/values.csv b/tests/features-db/sql/values.csv deleted file mode 100644 index 380ca91e8..000000000 --- a/tests/features-db/sql/values.csv +++ /dev/null @@ -1,2000 +0,0 @@ -tv1,tv2,tv3 -val1,1,0.1 -val2,2,0.2 -val3,3,0.3 -val4,4,0.4 -val5,5,0.5 -val6,6,0.6 -val7,7,0.7 -val8,8,0.8 -val9,9,0.9 -val10,10,1 -val11,11,1.1 -val12,12,1.2 -val13,13,1.3 -val14,14,1.4 -val15,15,1.5 -val16,16,1.6 -val17,17,1.7 -val18,18,1.8 -val19,19,1.9 -val20,20,2 -val21,21,2.1 -val22,22,2.2 -val23,23,2.3 -val24,24,2.4 -val25,25,2.5 -val26,26,2.6 -val27,27,2.7 -val28,28,2.8 -val29,29,2.9 -val30,30,3 -val31,31,3.1 -val32,32,3.2 -val33,33,3.3 -val34,34,3.4 -val35,35,3.5 -val36,36,3.6 -val37,37,3.7 -val38,38,3.8 -val39,39,3.9 -val40,40,4 -val41,41,4.1 -val42,42,4.2 -val43,43,4.3 -val44,44,4.4 -val45,45,4.5 -val46,46,4.6 -val47,47,4.7 -val48,48,4.8 -val49,49,4.9 -val50,50,5 -val51,51,5.1 -val52,52,5.2 -val53,53,5.3 -val54,54,5.4 -val55,55,5.5 -val56,56,5.6 -val57,57,5.7 -val58,58,5.8 -val59,59,5.9 -val60,60,6 -val61,61,6.1 -val62,62,6.2 -val63,63,6.3 -val64,64,6.4 -val65,65,6.5 -val66,66,6.6 -val67,67,6.7 -val68,68,6.8 -val69,69,6.9 -val70,70,7 -val71,71,7.1 -val72,72,7.2 -val73,73,7.3 -val74,74,7.4 -val75,75,7.5 -val76,76,7.6 -val77,77,7.7 -val78,78,7.8 -val79,79,7.9 -val80,80,8 -val81,81,8.1 -val82,82,8.2 -val83,83,8.3 -val84,84,8.4 -val85,85,8.5 -val86,86,8.6 -val87,87,8.7 -val88,88,8.8 -val89,89,8.9 -val90,90,9 -val91,91,9.1 -val92,92,9.2 -val93,93,9.3 -val94,94,9.4 -val95,95,9.5 -val96,96,9.6 -val97,97,9.7 -val98,98,9.8 -val99,99,9.9 -val100,100,10 -val101,101,10.1 -val102,102,10.2 -val103,103,10.3 -val104,104,10.4 -val105,105,10.5 -val106,106,10.6 -val107,107,10.7 -val108,108,10.8 -val109,109,10.9 -val110,110,11 -val111,111,11.1 -val112,112,11.2 -val113,113,11.3 -val114,114,11.4 -val115,115,11.5 -val116,116,11.6 -val117,117,11.7 -val118,118,11.8 -val119,119,11.9 -val120,120,12 -val121,121,12.1 -val122,122,12.2 -val123,123,12.3 -val124,124,12.4 -val125,125,12.5 -val126,126,12.6 -val127,127,12.7 -val128,128,12.8 -val129,129,12.9 -val130,130,13 -val131,131,13.1 -val132,132,13.2 -val133,133,13.3 -val134,134,13.4 -val135,135,13.5 -val136,136,13.6 -val137,137,13.7 -val138,138,13.8 -val139,139,13.9 -val140,140,14 -val141,141,14.1 -val142,142,14.2 -val143,143,14.3 -val144,144,14.4 -val145,145,14.5 -val146,146,14.6 -val147,147,14.7 -val148,148,14.8 -val149,149,14.9 -val150,150,15 -val151,151,15.1 -val152,152,15.2 -val153,153,15.3 -val154,154,15.4 -val155,155,15.5 -val156,156,15.6 -val157,157,15.7 -val158,158,15.8 -val159,159,15.9 -val160,160,16 -val161,161,16.1 -val162,162,16.2 -val163,163,16.3 -val164,164,16.4 -val165,165,16.5 -val166,166,16.6 -val167,167,16.7 -val168,168,16.8 -val169,169,16.9 -val170,170,17 -val171,171,17.1 -val172,172,17.2 -val173,173,17.3 -val174,174,17.4 -val175,175,17.5 -val176,176,17.6 -val177,177,17.7 -val178,178,17.8 -val179,179,17.9 -val180,180,18 -val181,181,18.1 -val182,182,18.2 -val183,183,18.3 -val184,184,18.4 -val185,185,18.5 -val186,186,18.6 -val187,187,18.7 -val188,188,18.8 -val189,189,18.9 -val190,190,19 -val191,191,19.1 -val192,192,19.2 -val193,193,19.3 -val194,194,19.4 -val195,195,19.5 -val196,196,19.6 -val197,197,19.7 -val198,198,19.8 -val199,199,19.9 -val200,200,20 -val201,201,20.1 -val202,202,20.2 -val203,203,20.3 -val204,204,20.4 -val205,205,20.5 -val206,206,20.6 -val207,207,20.7 -val208,208,20.8 -val209,209,20.9 -val210,210,21 -val211,211,21.1 -val212,212,21.2 -val213,213,21.3 -val214,214,21.4 -val215,215,21.5 -val216,216,21.6 -val217,217,21.7 -val218,218,21.8 -val219,219,21.9 -val220,220,22 -val221,221,22.1 -val222,222,22.2 -val223,223,22.3 -val224,224,22.4 -val225,225,22.5 -val226,226,22.6 -val227,227,22.7 -val228,228,22.8 -val229,229,22.9 -val230,230,23 -val231,231,23.1 -val232,232,23.2 -val233,233,23.3 -val234,234,23.4 -val235,235,23.5 -val236,236,23.6 -val237,237,23.7 -val238,238,23.8 -val239,239,23.9 -val240,240,24 -val241,241,24.1 -val242,242,24.2 -val243,243,24.3 -val244,244,24.4 -val245,245,24.5 -val246,246,24.6 -val247,247,24.7 -val248,248,24.8 -val249,249,24.9 -val250,250,25 -val251,251,25.1 -val252,252,25.2 -val253,253,25.3 -val254,254,25.4 -val255,255,25.5 -val256,256,25.6 -val257,257,25.7 -val258,258,25.8 -val259,259,25.9 -val260,260,26 -val261,261,26.1 -val262,262,26.2 -val263,263,26.3 -val264,264,26.4 -val265,265,26.5 -val266,266,26.6 -val267,267,26.7 -val268,268,26.8 -val269,269,26.9 -val270,270,27 -val271,271,27.1 -val272,272,27.2 -val273,273,27.3 -val274,274,27.4 -val275,275,27.5 -val276,276,27.6 -val277,277,27.7 -val278,278,27.8 -val279,279,27.9 -val280,280,28 -val281,281,28.1 -val282,282,28.2 -val283,283,28.3 -val284,284,28.4 -val285,285,28.5 -val286,286,28.6 -val287,287,28.7 -val288,288,28.8 -val289,289,28.9 -val290,290,29 -val291,291,29.1 -val292,292,29.2 -val293,293,29.3 -val294,294,29.4 -val295,295,29.5 -val296,296,29.6 -val297,297,29.7 -val298,298,29.8 -val299,299,29.9 -val300,300,30 -val301,301,30.1 -val302,302,30.2 -val303,303,30.3 -val304,304,30.4 -val305,305,30.5 -val306,306,30.6 -val307,307,30.7 -val308,308,30.8 -val309,309,30.9 -val310,310,31 -val311,311,31.1 -val312,312,31.2 -val313,313,31.3 -val314,314,31.4 -val315,315,31.5 -val316,316,31.6 -val317,317,31.7 -val318,318,31.8 -val319,319,31.9 -val320,320,32 -val321,321,32.1 -val322,322,32.2 -val323,323,32.3 -val324,324,32.4 -val325,325,32.5 -val326,326,32.6 -val327,327,32.7 -val328,328,32.8 -val329,329,32.9 -val330,330,33 -val331,331,33.1 -val332,332,33.2 -val333,333,33.3 -val334,334,33.4 -val335,335,33.5 -val336,336,33.6 -val337,337,33.7 -val338,338,33.8 -val339,339,33.9 -val340,340,34 -val341,341,34.1 -val342,342,34.2 -val343,343,34.3 -val344,344,34.4 -val345,345,34.5 -val346,346,34.6 -val347,347,34.7 -val348,348,34.8 -val349,349,34.9 -val350,350,35 -val351,351,35.1 -val352,352,35.2 -val353,353,35.3 -val354,354,35.4 -val355,355,35.5 -val356,356,35.6 -val357,357,35.7 -val358,358,35.8 -val359,359,35.9 -val360,360,36 -val361,361,36.1 -val362,362,36.2 -val363,363,36.3 -val364,364,36.4 -val365,365,36.5 -val366,366,36.6 -val367,367,36.7 -val368,368,36.8 -val369,369,36.9 -val370,370,37 -val371,371,37.1 -val372,372,37.2 -val373,373,37.3 -val374,374,37.4 -val375,375,37.5 -val376,376,37.6 -val377,377,37.7 -val378,378,37.8 -val379,379,37.9 -val380,380,38 -val381,381,38.1 -val382,382,38.2 -val383,383,38.3 -val384,384,38.4 -val385,385,38.5 -val386,386,38.6 -val387,387,38.7 -val388,388,38.8 -val389,389,38.9 -val390,390,39 -val391,391,39.1 -val392,392,39.2 -val393,393,39.3 -val394,394,39.4 -val395,395,39.5 -val396,396,39.6 -val397,397,39.7 -val398,398,39.8 -val399,399,39.9 -val400,400,40 -val401,401,40.1 -val402,402,40.2 -val403,403,40.3 -val404,404,40.4 -val405,405,40.5 -val406,406,40.6 -val407,407,40.7 -val408,408,40.8 -val409,409,40.9 -val410,410,41 -val411,411,41.1 -val412,412,41.2 -val413,413,41.3 -val414,414,41.4 -val415,415,41.5 -val416,416,41.6 -val417,417,41.7 -val418,418,41.8 -val419,419,41.9 -val420,420,42 -val421,421,42.1 -val422,422,42.2 -val423,423,42.3 -val424,424,42.4 -val425,425,42.5 -val426,426,42.6 -val427,427,42.7 -val428,428,42.8 -val429,429,42.9 -val430,430,43 -val431,431,43.1 -val432,432,43.2 -val433,433,43.3 -val434,434,43.4 -val435,435,43.5 -val436,436,43.6 -val437,437,43.7 -val438,438,43.8 -val439,439,43.9 -val440,440,44 -val441,441,44.1 -val442,442,44.2 -val443,443,44.3 -val444,444,44.4 -val445,445,44.5 -val446,446,44.6 -val447,447,44.7 -val448,448,44.8 -val449,449,44.9 -val450,450,45 -val451,451,45.1 -val452,452,45.2 -val453,453,45.3 -val454,454,45.4 -val455,455,45.5 -val456,456,45.6 -val457,457,45.7 -val458,458,45.8 -val459,459,45.9 -val460,460,46 -val461,461,46.1 -val462,462,46.2 -val463,463,46.3 -val464,464,46.4 -val465,465,46.5 -val466,466,46.6 -val467,467,46.7 -val468,468,46.8 -val469,469,46.9 -val470,470,47 -val471,471,47.1 -val472,472,47.2 -val473,473,47.3 -val474,474,47.4 -val475,475,47.5 -val476,476,47.6 -val477,477,47.7 -val478,478,47.8 -val479,479,47.9 -val480,480,48 -val481,481,48.1 -val482,482,48.2 -val483,483,48.3 -val484,484,48.4 -val485,485,48.5 -val486,486,48.6 -val487,487,48.7 -val488,488,48.8 -val489,489,48.9 -val490,490,49 -val491,491,49.1 -val492,492,49.2 -val493,493,49.3 -val494,494,49.4 -val495,495,49.5 -val496,496,49.6 -val497,497,49.7 -val498,498,49.8 -val499,499,49.9 -val500,500,50 -val501,501,50.1 -val502,502,50.2 -val503,503,50.3 -val504,504,50.4 -val505,505,50.5 -val506,506,50.6 -val507,507,50.7 -val508,508,50.8 -val509,509,50.9 -val510,510,51 -val511,511,51.1 -val512,512,51.2 -val513,513,51.3 -val514,514,51.4 -val515,515,51.5 -val516,516,51.6 -val517,517,51.7 -val518,518,51.8 -val519,519,51.9 -val520,520,52 -val521,521,52.1 -val522,522,52.2 -val523,523,52.3 -val524,524,52.4 -val525,525,52.5 -val526,526,52.6 -val527,527,52.7 -val528,528,52.8 -val529,529,52.9 -val530,530,53 -val531,531,53.1 -val532,532,53.2 -val533,533,53.3 -val534,534,53.4 -val535,535,53.5 -val536,536,53.6 -val537,537,53.7 -val538,538,53.8 -val539,539,53.9 -val540,540,54 -val541,541,54.1 -val542,542,54.2 -val543,543,54.3 -val544,544,54.4 -val545,545,54.5 -val546,546,54.6 -val547,547,54.7 -val548,548,54.8 -val549,549,54.9 -val550,550,55 -val551,551,55.1 -val552,552,55.2 -val553,553,55.3 -val554,554,55.4 -val555,555,55.5 -val556,556,55.6 -val557,557,55.7 -val558,558,55.8 -val559,559,55.9 -val560,560,56 -val561,561,56.1 -val562,562,56.2 -val563,563,56.3 -val564,564,56.4 -val565,565,56.5 -val566,566,56.6 -val567,567,56.7 -val568,568,56.8 -val569,569,56.9 -val570,570,57 -val571,571,57.1 -val572,572,57.2 -val573,573,57.3 -val574,574,57.4 -val575,575,57.5 -val576,576,57.6 -val577,577,57.7 -val578,578,57.8 -val579,579,57.9 -val580,580,58 -val581,581,58.1 -val582,582,58.2 -val583,583,58.3 -val584,584,58.4 -val585,585,58.5 -val586,586,58.6 -val587,587,58.7 -val588,588,58.8 -val589,589,58.9 -val590,590,59 -val591,591,59.1 -val592,592,59.2 -val593,593,59.3 -val594,594,59.4 -val595,595,59.5 -val596,596,59.6 -val597,597,59.7 -val598,598,59.8 -val599,599,59.9 -val600,600,60 -val601,601,60.1 -val602,602,60.2 -val603,603,60.3 -val604,604,60.4 -val605,605,60.5 -val606,606,60.6 -val607,607,60.7 -val608,608,60.8 -val609,609,60.9 -val610,610,61 -val611,611,61.1 -val612,612,61.2 -val613,613,61.3 -val614,614,61.4 -val615,615,61.5 -val616,616,61.6 -val617,617,61.7 -val618,618,61.8 -val619,619,61.9 -val620,620,62 -val621,621,62.1 -val622,622,62.2 -val623,623,62.3 -val624,624,62.4 -val625,625,62.5 -val626,626,62.6 -val627,627,62.7 -val628,628,62.8 -val629,629,62.9 -val630,630,63 -val631,631,63.1 -val632,632,63.2 -val633,633,63.3 -val634,634,63.4 -val635,635,63.5 -val636,636,63.6 -val637,637,63.7 -val638,638,63.8 -val639,639,63.9 -val640,640,64 -val641,641,64.1 -val642,642,64.2 -val643,643,64.3 -val644,644,64.4 -val645,645,64.5 -val646,646,64.6 -val647,647,64.7 -val648,648,64.8 -val649,649,64.9 -val650,650,65 -val651,651,65.1 -val652,652,65.2 -val653,653,65.3 -val654,654,65.4 -val655,655,65.5 -val656,656,65.6 -val657,657,65.7 -val658,658,65.8 -val659,659,65.9 -val660,660,66 -val661,661,66.1 -val662,662,66.2 -val663,663,66.3 -val664,664,66.4 -val665,665,66.5 -val666,666,66.6 -val667,667,66.7 -val668,668,66.8 -val669,669,66.9 -val670,670,67 -val671,671,67.1 -val672,672,67.2 -val673,673,67.3 -val674,674,67.4 -val675,675,67.5 -val676,676,67.6 -val677,677,67.7 -val678,678,67.8 -val679,679,67.9 -val680,680,68 -val681,681,68.1 -val682,682,68.2 -val683,683,68.3 -val684,684,68.4 -val685,685,68.5 -val686,686,68.6 -val687,687,68.7 -val688,688,68.8 -val689,689,68.9 -val690,690,69 -val691,691,69.1 -val692,692,69.2 -val693,693,69.3 -val694,694,69.4 -val695,695,69.5 -val696,696,69.6 -val697,697,69.7 -val698,698,69.8 -val699,699,69.9 -val700,700,70 -val701,701,70.1 -val702,702,70.2 -val703,703,70.3 -val704,704,70.4 -val705,705,70.5 -val706,706,70.6 -val707,707,70.7 -val708,708,70.8 -val709,709,70.9 -val710,710,71 -val711,711,71.1 -val712,712,71.2 -val713,713,71.3 -val714,714,71.4 -val715,715,71.5 -val716,716,71.6 -val717,717,71.7 -val718,718,71.8 -val719,719,71.9 -val720,720,72 -val721,721,72.1 -val722,722,72.2 -val723,723,72.3 -val724,724,72.4 -val725,725,72.5 -val726,726,72.6 -val727,727,72.7 -val728,728,72.8 -val729,729,72.9 -val730,730,73 -val731,731,73.1 -val732,732,73.2 -val733,733,73.3 -val734,734,73.4 -val735,735,73.5 -val736,736,73.6 -val737,737,73.7 -val738,738,73.8 -val739,739,73.9 -val740,740,74 -val741,741,74.1 -val742,742,74.2 -val743,743,74.3 -val744,744,74.4 -val745,745,74.5 -val746,746,74.6 -val747,747,74.7 -val748,748,74.8 -val749,749,74.9 -val750,750,75 -val751,751,75.1 -val752,752,75.2 -val753,753,75.3 -val754,754,75.4 -val755,755,75.5 -val756,756,75.6 -val757,757,75.7 -val758,758,75.8 -val759,759,75.9 -val760,760,76 -val761,761,76.1 -val762,762,76.2 -val763,763,76.3 -val764,764,76.4 -val765,765,76.5 -val766,766,76.6 -val767,767,76.7 -val768,768,76.8 -val769,769,76.9 -val770,770,77 -val771,771,77.1 -val772,772,77.2 -val773,773,77.3 -val774,774,77.4 -val775,775,77.5 -val776,776,77.6 -val777,777,77.7 -val778,778,77.8 -val779,779,77.9 -val780,780,78 -val781,781,78.1 -val782,782,78.2 -val783,783,78.3 -val784,784,78.4 -val785,785,78.5 -val786,786,78.6 -val787,787,78.7 -val788,788,78.8 -val789,789,78.9 -val790,790,79 -val791,791,79.1 -val792,792,79.2 -val793,793,79.3 -val794,794,79.4 -val795,795,79.5 -val796,796,79.6 -val797,797,79.7 -val798,798,79.8 -val799,799,79.9 -val800,800,80 -val801,801,80.1 -val802,802,80.2 -val803,803,80.3 -val804,804,80.4 -val805,805,80.5 -val806,806,80.6 -val807,807,80.7 -val808,808,80.8 -val809,809,80.9 -val810,810,81 -val811,811,81.1 -val812,812,81.2 -val813,813,81.3 -val814,814,81.4 -val815,815,81.5 -val816,816,81.6 -val817,817,81.7 -val818,818,81.8 -val819,819,81.9 -val820,820,82 -val821,821,82.1 -val822,822,82.2 -val823,823,82.3 -val824,824,82.4 -val825,825,82.5 -val826,826,82.6 -val827,827,82.7 -val828,828,82.8 -val829,829,82.9 -val830,830,83 -val831,831,83.1 -val832,832,83.2 -val833,833,83.3 -val834,834,83.4 -val835,835,83.5 -val836,836,83.6 -val837,837,83.7 -val838,838,83.8 -val839,839,83.9 -val840,840,84 -val841,841,84.1 -val842,842,84.2 -val843,843,84.3 -val844,844,84.4 -val845,845,84.5 -val846,846,84.6 -val847,847,84.7 -val848,848,84.8 -val849,849,84.9 -val850,850,85 -val851,851,85.1 -val852,852,85.2 -val853,853,85.3 -val854,854,85.4 -val855,855,85.5 -val856,856,85.6 -val857,857,85.7 -val858,858,85.8 -val859,859,85.9 -val860,860,86 -val861,861,86.1 -val862,862,86.2 -val863,863,86.3 -val864,864,86.4 -val865,865,86.5 -val866,866,86.6 -val867,867,86.7 -val868,868,86.8 -val869,869,86.9 -val870,870,87 -val871,871,87.1 -val872,872,87.2 -val873,873,87.3 -val874,874,87.4 -val875,875,87.5 -val876,876,87.6 -val877,877,87.7 -val878,878,87.8 -val879,879,87.9 -val880,880,88 -val881,881,88.1 -val882,882,88.2 -val883,883,88.3 -val884,884,88.4 -val885,885,88.5 -val886,886,88.6 -val887,887,88.7 -val888,888,88.8 -val889,889,88.9 -val890,890,89 -val891,891,89.1 -val892,892,89.2 -val893,893,89.3 -val894,894,89.4 -val895,895,89.5 -val896,896,89.6 -val897,897,89.7 -val898,898,89.8 -val899,899,89.9 -val900,900,90 -val901,901,90.1 -val902,902,90.2 -val903,903,90.3 -val904,904,90.4 -val905,905,90.5 -val906,906,90.6 -val907,907,90.7 -val908,908,90.8 -val909,909,90.9 -val910,910,91 -val911,911,91.1 -val912,912,91.2 -val913,913,91.3 -val914,914,91.4 -val915,915,91.5 -val916,916,91.6 -val917,917,91.7 -val918,918,91.8 -val919,919,91.9 -val920,920,92 -val921,921,92.1 -val922,922,92.2 -val923,923,92.3 -val924,924,92.4 -val925,925,92.5 -val926,926,92.6 -val927,927,92.7 -val928,928,92.8 -val929,929,92.9 -val930,930,93 -val931,931,93.1 -val932,932,93.2 -val933,933,93.3 -val934,934,93.4 -val935,935,93.5 -val936,936,93.6 -val937,937,93.7 -val938,938,93.8 -val939,939,93.9 -val940,940,94 -val941,941,94.1 -val942,942,94.2 -val943,943,94.3 -val944,944,94.4 -val945,945,94.5 -val946,946,94.6 -val947,947,94.7 -val948,948,94.8 -val949,949,94.9 -val950,950,95 -val951,951,95.1 -val952,952,95.2 -val953,953,95.3 -val954,954,95.4 -val955,955,95.5 -val956,956,95.6 -val957,957,95.7 -val958,958,95.8 -val959,959,95.9 -val960,960,96 -val961,961,96.1 -val962,962,96.2 -val963,963,96.3 -val964,964,96.4 -val965,965,96.5 -val966,966,96.6 -val967,967,96.7 -val968,968,96.8 -val969,969,96.9 -val970,970,97 -val971,971,97.1 -val972,972,97.2 -val973,973,97.3 -val974,974,97.4 -val975,975,97.5 -val976,976,97.6 -val977,977,97.7 -val978,978,97.8 -val979,979,97.9 -val980,980,98 -val981,981,98.1 -val982,982,98.2 -val983,983,98.3 -val984,984,98.4 -val985,985,98.5 -val986,986,98.6 -val987,987,98.7 -val988,988,98.8 -val989,989,98.9 -val990,990,99 -val991,991,99.1 -val992,992,99.2 -val993,993,99.3 -val994,994,99.4 -val995,995,99.5 -val996,996,99.6 -val997,997,99.7 -val998,998,99.8 -val999,999,99.9 -val1000,1000,100 -val1001,1001,100.1 -val1002,1002,100.2 -val1003,1003,100.3 -val1004,1004,100.4 -val1005,1005,100.5 -val1006,1006,100.6 -val1007,1007,100.7 -val1008,1008,100.8 -val1009,1009,100.9 -val1010,1010,101 -val1011,1011,101.1 -val1012,1012,101.2 -val1013,1013,101.3 -val1014,1014,101.4 -val1015,1015,101.5 -val1016,1016,101.6 -val1017,1017,101.7 -val1018,1018,101.8 -val1019,1019,101.9 -val1020,1020,102 -val1021,1021,102.1 -val1022,1022,102.2 -val1023,1023,102.3 -val1024,1024,102.4 -val1025,1025,102.5 -val1026,1026,102.6 -val1027,1027,102.7 -val1028,1028,102.8 -val1029,1029,102.9 -val1030,1030,103 -val1031,1031,103.1 -val1032,1032,103.2 -val1033,1033,103.3 -val1034,1034,103.4 -val1035,1035,103.5 -val1036,1036,103.6 -val1037,1037,103.7 -val1038,1038,103.8 -val1039,1039,103.9 -val1040,1040,104 -val1041,1041,104.1 -val1042,1042,104.2 -val1043,1043,104.3 -val1044,1044,104.4 -val1045,1045,104.5 -val1046,1046,104.6 -val1047,1047,104.7 -val1048,1048,104.8 -val1049,1049,104.9 -val1050,1050,105 -val1051,1051,105.1 -val1052,1052,105.2 -val1053,1053,105.3 -val1054,1054,105.4 -val1055,1055,105.5 -val1056,1056,105.6 -val1057,1057,105.7 -val1058,1058,105.8 -val1059,1059,105.9 -val1060,1060,106 -val1061,1061,106.1 -val1062,1062,106.2 -val1063,1063,106.3 -val1064,1064,106.4 -val1065,1065,106.5 -val1066,1066,106.6 -val1067,1067,106.7 -val1068,1068,106.8 -val1069,1069,106.9 -val1070,1070,107 -val1071,1071,107.1 -val1072,1072,107.2 -val1073,1073,107.3 -val1074,1074,107.4 -val1075,1075,107.5 -val1076,1076,107.6 -val1077,1077,107.7 -val1078,1078,107.8 -val1079,1079,107.9 -val1080,1080,108 -val1081,1081,108.1 -val1082,1082,108.2 -val1083,1083,108.3 -val1084,1084,108.4 -val1085,1085,108.5 -val1086,1086,108.6 -val1087,1087,108.7 -val1088,1088,108.8 -val1089,1089,108.9 -val1090,1090,109 -val1091,1091,109.1 -val1092,1092,109.2 -val1093,1093,109.3 -val1094,1094,109.4 -val1095,1095,109.5 -val1096,1096,109.6 -val1097,1097,109.7 -val1098,1098,109.8 -val1099,1099,109.9 -val1100,1100,110 -val1101,1101,110.1 -val1102,1102,110.2 -val1103,1103,110.3 -val1104,1104,110.4 -val1105,1105,110.5 -val1106,1106,110.6 -val1107,1107,110.7 -val1108,1108,110.8 -val1109,1109,110.9 -val1110,1110,111 -val1111,1111,111.1 -val1112,1112,111.2 -val1113,1113,111.3 -val1114,1114,111.4 -val1115,1115,111.5 -val1116,1116,111.6 -val1117,1117,111.7 -val1118,1118,111.8 -val1119,1119,111.9 -val1120,1120,112 -val1121,1121,112.1 -val1122,1122,112.2 -val1123,1123,112.3 -val1124,1124,112.4 -val1125,1125,112.5 -val1126,1126,112.6 -val1127,1127,112.7 -val1128,1128,112.8 -val1129,1129,112.9 -val1130,1130,113 -val1131,1131,113.1 -val1132,1132,113.2 -val1133,1133,113.3 -val1134,1134,113.4 -val1135,1135,113.5 -val1136,1136,113.6 -val1137,1137,113.7 -val1138,1138,113.8 -val1139,1139,113.9 -val1140,1140,114 -val1141,1141,114.1 -val1142,1142,114.2 -val1143,1143,114.3 -val1144,1144,114.4 -val1145,1145,114.5 -val1146,1146,114.6 -val1147,1147,114.7 -val1148,1148,114.8 -val1149,1149,114.9 -val1150,1150,115 -val1151,1151,115.1 -val1152,1152,115.2 -val1153,1153,115.3 -val1154,1154,115.4 -val1155,1155,115.5 -val1156,1156,115.6 -val1157,1157,115.7 -val1158,1158,115.8 -val1159,1159,115.9 -val1160,1160,116 -val1161,1161,116.1 -val1162,1162,116.2 -val1163,1163,116.3 -val1164,1164,116.4 -val1165,1165,116.5 -val1166,1166,116.6 -val1167,1167,116.7 -val1168,1168,116.8 -val1169,1169,116.9 -val1170,1170,117 -val1171,1171,117.1 -val1172,1172,117.2 -val1173,1173,117.3 -val1174,1174,117.4 -val1175,1175,117.5 -val1176,1176,117.6 -val1177,1177,117.7 -val1178,1178,117.8 -val1179,1179,117.9 -val1180,1180,118 -val1181,1181,118.1 -val1182,1182,118.2 -val1183,1183,118.3 -val1184,1184,118.4 -val1185,1185,118.5 -val1186,1186,118.6 -val1187,1187,118.7 -val1188,1188,118.8 -val1189,1189,118.9 -val1190,1190,119 -val1191,1191,119.1 -val1192,1192,119.2 -val1193,1193,119.3 -val1194,1194,119.4 -val1195,1195,119.5 -val1196,1196,119.6 -val1197,1197,119.7 -val1198,1198,119.8 -val1199,1199,119.9 -val1200,1200,120 -val1201,1201,120.1 -val1202,1202,120.2 -val1203,1203,120.3 -val1204,1204,120.4 -val1205,1205,120.5 -val1206,1206,120.6 -val1207,1207,120.7 -val1208,1208,120.8 -val1209,1209,120.9 -val1210,1210,121 -val1211,1211,121.1 -val1212,1212,121.2 -val1213,1213,121.3 -val1214,1214,121.4 -val1215,1215,121.5 -val1216,1216,121.6 -val1217,1217,121.7 -val1218,1218,121.8 -val1219,1219,121.9 -val1220,1220,122 -val1221,1221,122.1 -val1222,1222,122.2 -val1223,1223,122.3 -val1224,1224,122.4 -val1225,1225,122.5 -val1226,1226,122.6 -val1227,1227,122.7 -val1228,1228,122.8 -val1229,1229,122.9 -val1230,1230,123 -val1231,1231,123.1 -val1232,1232,123.2 -val1233,1233,123.3 -val1234,1234,123.4 -val1235,1235,123.5 -val1236,1236,123.6 -val1237,1237,123.7 -val1238,1238,123.8 -val1239,1239,123.9 -val1240,1240,124 -val1241,1241,124.1 -val1242,1242,124.2 -val1243,1243,124.3 -val1244,1244,124.4 -val1245,1245,124.5 -val1246,1246,124.6 -val1247,1247,124.7 -val1248,1248,124.8 -val1249,1249,124.9 -val1250,1250,125 -val1251,1251,125.1 -val1252,1252,125.2 -val1253,1253,125.3 -val1254,1254,125.4 -val1255,1255,125.5 -val1256,1256,125.6 -val1257,1257,125.7 -val1258,1258,125.8 -val1259,1259,125.9 -val1260,1260,126 -val1261,1261,126.1 -val1262,1262,126.2 -val1263,1263,126.3 -val1264,1264,126.4 -val1265,1265,126.5 -val1266,1266,126.6 -val1267,1267,126.7 -val1268,1268,126.8 -val1269,1269,126.9 -val1270,1270,127 -val1271,1271,127.1 -val1272,1272,127.2 -val1273,1273,127.3 -val1274,1274,127.4 -val1275,1275,127.5 -val1276,1276,127.6 -val1277,1277,127.7 -val1278,1278,127.8 -val1279,1279,127.9 -val1280,1280,128 -val1281,1281,128.1 -val1282,1282,128.2 -val1283,1283,128.3 -val1284,1284,128.4 -val1285,1285,128.5 -val1286,1286,128.6 -val1287,1287,128.7 -val1288,1288,128.8 -val1289,1289,128.9 -val1290,1290,129 -val1291,1291,129.1 -val1292,1292,129.2 -val1293,1293,129.3 -val1294,1294,129.4 -val1295,1295,129.5 -val1296,1296,129.6 -val1297,1297,129.7 -val1298,1298,129.8 -val1299,1299,129.9 -val1300,1300,130 -val1301,1301,130.1 -val1302,1302,130.2 -val1303,1303,130.3 -val1304,1304,130.4 -val1305,1305,130.5 -val1306,1306,130.6 -val1307,1307,130.7 -val1308,1308,130.8 -val1309,1309,130.9 -val1310,1310,131 -val1311,1311,131.1 -val1312,1312,131.2 -val1313,1313,131.3 -val1314,1314,131.4 -val1315,1315,131.5 -val1316,1316,131.6 -val1317,1317,131.7 -val1318,1318,131.8 -val1319,1319,131.9 -val1320,1320,132 -val1321,1321,132.1 -val1322,1322,132.2 -val1323,1323,132.3 -val1324,1324,132.4 -val1325,1325,132.5 -val1326,1326,132.6 -val1327,1327,132.7 -val1328,1328,132.8 -val1329,1329,132.9 -val1330,1330,133 -val1331,1331,133.1 -val1332,1332,133.2 -val1333,1333,133.3 -val1334,1334,133.4 -val1335,1335,133.5 -val1336,1336,133.6 -val1337,1337,133.7 -val1338,1338,133.8 -val1339,1339,133.9 -val1340,1340,134 -val1341,1341,134.1 -val1342,1342,134.2 -val1343,1343,134.3 -val1344,1344,134.4 -val1345,1345,134.5 -val1346,1346,134.6 -val1347,1347,134.7 -val1348,1348,134.8 -val1349,1349,134.9 -val1350,1350,135 -val1351,1351,135.1 -val1352,1352,135.2 -val1353,1353,135.3 -val1354,1354,135.4 -val1355,1355,135.5 -val1356,1356,135.6 -val1357,1357,135.7 -val1358,1358,135.8 -val1359,1359,135.9 -val1360,1360,136 -val1361,1361,136.1 -val1362,1362,136.2 -val1363,1363,136.3 -val1364,1364,136.4 -val1365,1365,136.5 -val1366,1366,136.6 -val1367,1367,136.7 -val1368,1368,136.8 -val1369,1369,136.9 -val1370,1370,137 -val1371,1371,137.1 -val1372,1372,137.2 -val1373,1373,137.3 -val1374,1374,137.4 -val1375,1375,137.5 -val1376,1376,137.6 -val1377,1377,137.7 -val1378,1378,137.8 -val1379,1379,137.9 -val1380,1380,138 -val1381,1381,138.1 -val1382,1382,138.2 -val1383,1383,138.3 -val1384,1384,138.4 -val1385,1385,138.5 -val1386,1386,138.6 -val1387,1387,138.7 -val1388,1388,138.8 -val1389,1389,138.9 -val1390,1390,139 -val1391,1391,139.1 -val1392,1392,139.2 -val1393,1393,139.3 -val1394,1394,139.4 -val1395,1395,139.5 -val1396,1396,139.6 -val1397,1397,139.7 -val1398,1398,139.8 -val1399,1399,139.9 -val1400,1400,140 -val1401,1401,140.1 -val1402,1402,140.2 -val1403,1403,140.3 -val1404,1404,140.4 -val1405,1405,140.5 -val1406,1406,140.6 -val1407,1407,140.7 -val1408,1408,140.8 -val1409,1409,140.9 -val1410,1410,141 -val1411,1411,141.1 -val1412,1412,141.2 -val1413,1413,141.3 -val1414,1414,141.4 -val1415,1415,141.5 -val1416,1416,141.6 -val1417,1417,141.7 -val1418,1418,141.8 -val1419,1419,141.9 -val1420,1420,142 -val1421,1421,142.1 -val1422,1422,142.2 -val1423,1423,142.3 -val1424,1424,142.4 -val1425,1425,142.5 -val1426,1426,142.6 -val1427,1427,142.7 -val1428,1428,142.8 -val1429,1429,142.9 -val1430,1430,143 -val1431,1431,143.1 -val1432,1432,143.2 -val1433,1433,143.3 -val1434,1434,143.4 -val1435,1435,143.5 -val1436,1436,143.6 -val1437,1437,143.7 -val1438,1438,143.8 -val1439,1439,143.9 -val1440,1440,144 -val1441,1441,144.1 -val1442,1442,144.2 -val1443,1443,144.3 -val1444,1444,144.4 -val1445,1445,144.5 -val1446,1446,144.6 -val1447,1447,144.7 -val1448,1448,144.8 -val1449,1449,144.9 -val1450,1450,145 -val1451,1451,145.1 -val1452,1452,145.2 -val1453,1453,145.3 -val1454,1454,145.4 -val1455,1455,145.5 -val1456,1456,145.6 -val1457,1457,145.7 -val1458,1458,145.8 -val1459,1459,145.9 -val1460,1460,146 -val1461,1461,146.1 -val1462,1462,146.2 -val1463,1463,146.3 -val1464,1464,146.4 -val1465,1465,146.5 -val1466,1466,146.6 -val1467,1467,146.7 -val1468,1468,146.8 -val1469,1469,146.9 -val1470,1470,147 -val1471,1471,147.1 -val1472,1472,147.2 -val1473,1473,147.3 -val1474,1474,147.4 -val1475,1475,147.5 -val1476,1476,147.6 -val1477,1477,147.7 -val1478,1478,147.8 -val1479,1479,147.9 -val1480,1480,148 -val1481,1481,148.1 -val1482,1482,148.2 -val1483,1483,148.3 -val1484,1484,148.4 -val1485,1485,148.5 -val1486,1486,148.6 -val1487,1487,148.7 -val1488,1488,148.8 -val1489,1489,148.9 -val1490,1490,149 -val1491,1491,149.1 -val1492,1492,149.2 -val1493,1493,149.3 -val1494,1494,149.4 -val1495,1495,149.5 -val1496,1496,149.6 -val1497,1497,149.7 -val1498,1498,149.8 -val1499,1499,149.9 -val1500,1500,150 -val1501,1501,150.1 -val1502,1502,150.2 -val1503,1503,150.3 -val1504,1504,150.4 -val1505,1505,150.5 -val1506,1506,150.6 -val1507,1507,150.7 -val1508,1508,150.8 -val1509,1509,150.9 -val1510,1510,151 -val1511,1511,151.1 -val1512,1512,151.2 -val1513,1513,151.3 -val1514,1514,151.4 -val1515,1515,151.5 -val1516,1516,151.6 -val1517,1517,151.7 -val1518,1518,151.8 -val1519,1519,151.9 -val1520,1520,152 -val1521,1521,152.1 -val1522,1522,152.2 -val1523,1523,152.3 -val1524,1524,152.4 -val1525,1525,152.5 -val1526,1526,152.6 -val1527,1527,152.7 -val1528,1528,152.8 -val1529,1529,152.9 -val1530,1530,153 -val1531,1531,153.1 -val1532,1532,153.2 -val1533,1533,153.3 -val1534,1534,153.4 -val1535,1535,153.5 -val1536,1536,153.6 -val1537,1537,153.7 -val1538,1538,153.8 -val1539,1539,153.9 -val1540,1540,154 -val1541,1541,154.1 -val1542,1542,154.2 -val1543,1543,154.3 -val1544,1544,154.4 -val1545,1545,154.5 -val1546,1546,154.6 -val1547,1547,154.7 -val1548,1548,154.8 -val1549,1549,154.9 -val1550,1550,155 -val1551,1551,155.1 -val1552,1552,155.2 -val1553,1553,155.3 -val1554,1554,155.4 -val1555,1555,155.5 -val1556,1556,155.6 -val1557,1557,155.7 -val1558,1558,155.8 -val1559,1559,155.9 -val1560,1560,156 -val1561,1561,156.1 -val1562,1562,156.2 -val1563,1563,156.3 -val1564,1564,156.4 -val1565,1565,156.5 -val1566,1566,156.6 -val1567,1567,156.7 -val1568,1568,156.8 -val1569,1569,156.9 -val1570,1570,157 -val1571,1571,157.1 -val1572,1572,157.2 -val1573,1573,157.3 -val1574,1574,157.4 -val1575,1575,157.5 -val1576,1576,157.6 -val1577,1577,157.7 -val1578,1578,157.8 -val1579,1579,157.9 -val1580,1580,158 -val1581,1581,158.1 -val1582,1582,158.2 -val1583,1583,158.3 -val1584,1584,158.4 -val1585,1585,158.5 -val1586,1586,158.6 -val1587,1587,158.7 -val1588,1588,158.8 -val1589,1589,158.9 -val1590,1590,159 -val1591,1591,159.1 -val1592,1592,159.2 -val1593,1593,159.3 -val1594,1594,159.4 -val1595,1595,159.5 -val1596,1596,159.6 -val1597,1597,159.7 -val1598,1598,159.8 -val1599,1599,159.9 -val1600,1600,160 -val1601,1601,160.1 -val1602,1602,160.2 -val1603,1603,160.3 -val1604,1604,160.4 -val1605,1605,160.5 -val1606,1606,160.6 -val1607,1607,160.7 -val1608,1608,160.8 -val1609,1609,160.9 -val1610,1610,161 -val1611,1611,161.1 -val1612,1612,161.2 -val1613,1613,161.3 -val1614,1614,161.4 -val1615,1615,161.5 -val1616,1616,161.6 -val1617,1617,161.7 -val1618,1618,161.8 -val1619,1619,161.9 -val1620,1620,162 -val1621,1621,162.1 -val1622,1622,162.2 -val1623,1623,162.3 -val1624,1624,162.4 -val1625,1625,162.5 -val1626,1626,162.6 -val1627,1627,162.7 -val1628,1628,162.8 -val1629,1629,162.9 -val1630,1630,163 -val1631,1631,163.1 -val1632,1632,163.2 -val1633,1633,163.3 -val1634,1634,163.4 -val1635,1635,163.5 -val1636,1636,163.6 -val1637,1637,163.7 -val1638,1638,163.8 -val1639,1639,163.9 -val1640,1640,164 -val1641,1641,164.1 -val1642,1642,164.2 -val1643,1643,164.3 -val1644,1644,164.4 -val1645,1645,164.5 -val1646,1646,164.6 -val1647,1647,164.7 -val1648,1648,164.8 -val1649,1649,164.9 -val1650,1650,165 -val1651,1651,165.1 -val1652,1652,165.2 -val1653,1653,165.3 -val1654,1654,165.4 -val1655,1655,165.5 -val1656,1656,165.6 -val1657,1657,165.7 -val1658,1658,165.8 -val1659,1659,165.9 -val1660,1660,166 -val1661,1661,166.1 -val1662,1662,166.2 -val1663,1663,166.3 -val1664,1664,166.4 -val1665,1665,166.5 -val1666,1666,166.6 -val1667,1667,166.7 -val1668,1668,166.8 -val1669,1669,166.9 -val1670,1670,167 -val1671,1671,167.1 -val1672,1672,167.2 -val1673,1673,167.3 -val1674,1674,167.4 -val1675,1675,167.5 -val1676,1676,167.6 -val1677,1677,167.7 -val1678,1678,167.8 -val1679,1679,167.9 -val1680,1680,168 -val1681,1681,168.1 -val1682,1682,168.2 -val1683,1683,168.3 -val1684,1684,168.4 -val1685,1685,168.5 -val1686,1686,168.6 -val1687,1687,168.7 -val1688,1688,168.8 -val1689,1689,168.9 -val1690,1690,169 -val1691,1691,169.1 -val1692,1692,169.2 -val1693,1693,169.3 -val1694,1694,169.4 -val1695,1695,169.5 -val1696,1696,169.6 -val1697,1697,169.7 -val1698,1698,169.8 -val1699,1699,169.9 -val1700,1700,170 -val1701,1701,170.1 -val1702,1702,170.2 -val1703,1703,170.3 -val1704,1704,170.4 -val1705,1705,170.5 -val1706,1706,170.6 -val1707,1707,170.7 -val1708,1708,170.8 -val1709,1709,170.9 -val1710,1710,171 -val1711,1711,171.1 -val1712,1712,171.2 -val1713,1713,171.3 -val1714,1714,171.4 -val1715,1715,171.5 -val1716,1716,171.6 -val1717,1717,171.7 -val1718,1718,171.8 -val1719,1719,171.9 -val1720,1720,172 -val1721,1721,172.1 -val1722,1722,172.2 -val1723,1723,172.3 -val1724,1724,172.4 -val1725,1725,172.5 -val1726,1726,172.6 -val1727,1727,172.7 -val1728,1728,172.8 -val1729,1729,172.9 -val1730,1730,173 -val1731,1731,173.1 -val1732,1732,173.2 -val1733,1733,173.3 -val1734,1734,173.4 -val1735,1735,173.5 -val1736,1736,173.6 -val1737,1737,173.7 -val1738,1738,173.8 -val1739,1739,173.9 -val1740,1740,174 -val1741,1741,174.1 -val1742,1742,174.2 -val1743,1743,174.3 -val1744,1744,174.4 -val1745,1745,174.5 -val1746,1746,174.6 -val1747,1747,174.7 -val1748,1748,174.8 -val1749,1749,174.9 -val1750,1750,175 -val1751,1751,175.1 -val1752,1752,175.2 -val1753,1753,175.3 -val1754,1754,175.4 -val1755,1755,175.5 -val1756,1756,175.6 -val1757,1757,175.7 -val1758,1758,175.8 -val1759,1759,175.9 -val1760,1760,176 -val1761,1761,176.1 -val1762,1762,176.2 -val1763,1763,176.3 -val1764,1764,176.4 -val1765,1765,176.5 -val1766,1766,176.6 -val1767,1767,176.7 -val1768,1768,176.8 -val1769,1769,176.9 -val1770,1770,177 -val1771,1771,177.1 -val1772,1772,177.2 -val1773,1773,177.3 -val1774,1774,177.4 -val1775,1775,177.5 -val1776,1776,177.6 -val1777,1777,177.7 -val1778,1778,177.8 -val1779,1779,177.9 -val1780,1780,178 -val1781,1781,178.1 -val1782,1782,178.2 -val1783,1783,178.3 -val1784,1784,178.4 -val1785,1785,178.5 -val1786,1786,178.6 -val1787,1787,178.7 -val1788,1788,178.8 -val1789,1789,178.9 -val1790,1790,179 -val1791,1791,179.1 -val1792,1792,179.2 -val1793,1793,179.3 -val1794,1794,179.4 -val1795,1795,179.5 -val1796,1796,179.6 -val1797,1797,179.7 -val1798,1798,179.8 -val1799,1799,179.9 -val1800,1800,180 -val1801,1801,180.1 -val1802,1802,180.2 -val1803,1803,180.3 -val1804,1804,180.4 -val1805,1805,180.5 -val1806,1806,180.6 -val1807,1807,180.7 -val1808,1808,180.8 -val1809,1809,180.9 -val1810,1810,181 -val1811,1811,181.1 -val1812,1812,181.2 -val1813,1813,181.3 -val1814,1814,181.4 -val1815,1815,181.5 -val1816,1816,181.6 -val1817,1817,181.7 -val1818,1818,181.8 -val1819,1819,181.9 -val1820,1820,182 -val1821,1821,182.1 -val1822,1822,182.2 -val1823,1823,182.3 -val1824,1824,182.4 -val1825,1825,182.5 -val1826,1826,182.6 -val1827,1827,182.7 -val1828,1828,182.8 -val1829,1829,182.9 -val1830,1830,183 -val1831,1831,183.1 -val1832,1832,183.2 -val1833,1833,183.3 -val1834,1834,183.4 -val1835,1835,183.5 -val1836,1836,183.6 -val1837,1837,183.7 -val1838,1838,183.8 -val1839,1839,183.9 -val1840,1840,184 -val1841,1841,184.1 -val1842,1842,184.2 -val1843,1843,184.3 -val1844,1844,184.4 -val1845,1845,184.5 -val1846,1846,184.6 -val1847,1847,184.7 -val1848,1848,184.8 -val1849,1849,184.9 -val1850,1850,185 -val1851,1851,185.1 -val1852,1852,185.2 -val1853,1853,185.3 -val1854,1854,185.4 -val1855,1855,185.5 -val1856,1856,185.6 -val1857,1857,185.7 -val1858,1858,185.8 -val1859,1859,185.9 -val1860,1860,186 -val1861,1861,186.1 -val1862,1862,186.2 -val1863,1863,186.3 -val1864,1864,186.4 -val1865,1865,186.5 -val1866,1866,186.6 -val1867,1867,186.7 -val1868,1868,186.8 -val1869,1869,186.9 -val1870,1870,187 -val1871,1871,187.1 -val1872,1872,187.2 -val1873,1873,187.3 -val1874,1874,187.4 -val1875,1875,187.5 -val1876,1876,187.6 -val1877,1877,187.7 -val1878,1878,187.8 -val1879,1879,187.9 -val1880,1880,188 -val1881,1881,188.1 -val1882,1882,188.2 -val1883,1883,188.3 -val1884,1884,188.4 -val1885,1885,188.5 -val1886,1886,188.6 -val1887,1887,188.7 -val1888,1888,188.8 -val1889,1889,188.9 -val1890,1890,189 -val1891,1891,189.1 -val1892,1892,189.2 -val1893,1893,189.3 -val1894,1894,189.4 -val1895,1895,189.5 -val1896,1896,189.6 -val1897,1897,189.7 -val1898,1898,189.8 -val1899,1899,189.9 -val1900,1900,190 -val1901,1901,190.1 -val1902,1902,190.2 -val1903,1903,190.3 -val1904,1904,190.4 -val1905,1905,190.5 -val1906,1906,190.6 -val1907,1907,190.7 -val1908,1908,190.8 -val1909,1909,190.9 -val1910,1910,191 -val1911,1911,191.1 -val1912,1912,191.2 -val1913,1913,191.3 -val1914,1914,191.4 -val1915,1915,191.5 -val1916,1916,191.6 -val1917,1917,191.7 -val1918,1918,191.8 -val1919,1919,191.9 -val1920,1920,192 -val1921,1921,192.1 -val1922,1922,192.2 -val1923,1923,192.3 -val1924,1924,192.4 -val1925,1925,192.5 -val1926,1926,192.6 -val1927,1927,192.7 -val1928,1928,192.8 -val1929,1929,192.9 -val1930,1930,193 -val1931,1931,193.1 -val1932,1932,193.2 -val1933,1933,193.3 -val1934,1934,193.4 -val1935,1935,193.5 -val1936,1936,193.6 -val1937,1937,193.7 -val1938,1938,193.8 -val1939,1939,193.9 -val1940,1940,194 -val1941,1941,194.1 -val1942,1942,194.2 -val1943,1943,194.3 -val1944,1944,194.4 -val1945,1945,194.5 -val1946,1946,194.6 -val1947,1947,194.7 -val1948,1948,194.8 -val1949,1949,194.9 -val1950,1950,195 -val1951,1951,195.1 -val1952,1952,195.2 -val1953,1953,195.3 -val1954,1954,195.4 -val1955,1955,195.5 -val1956,1956,195.6 -val1957,1957,195.7 -val1958,1958,195.8 -val1959,1959,195.9 -val1960,1960,196 -val1961,1961,196.1 -val1962,1962,196.2 -val1963,1963,196.3 -val1964,1964,196.4 -val1965,1965,196.5 -val1966,1966,196.6 -val1967,1967,196.7 -val1968,1968,196.8 -val1969,1969,196.9 -val1970,1970,197 -val1971,1971,197.1 -val1972,1972,197.2 -val1973,1973,197.3 -val1974,1974,197.4 -val1975,1975,197.5 -val1976,1976,197.6 -val1977,1977,197.7 -val1978,1978,197.8 -val1979,1979,197.9 -val1980,1980,198 -val1981,1981,198.1 -val1982,1982,198.2 -val1983,1983,198.3 -val1984,1984,198.4 -val1985,1985,198.5 -val1986,1986,198.6 -val1987,1987,198.7 -val1988,1988,198.8 -val1989,1989,198.9 -val1990,1990,199 -val1991,1991,199.1 -val1992,1992,199.2 -val1993,1993,199.3 -val1994,1994,199.4 -val1995,1995,199.5 -val1996,1996,199.6 -val1997,1997,199.7 -val1998,1998,199.8 -val1999,1999,199.9 diff --git a/tests/meta-db/sql/create.sql b/tests/meta-db/sql/create.sql deleted file mode 100644 index f15950968..000000000 --- a/tests/meta-db/sql/create.sql +++ /dev/null @@ -1,46 +0,0 @@ -SET datestyle to 'European'; - -CREATE TABLE IF NOT EXISTS meta_variables ( - ID serial NOT NULL PRIMARY KEY, - source varchar(256) UNIQUE NOT NULL, - hierarchy json NOT NULL, - target_table varchar(256) UNIQUE NOT NULL -); -INSERT INTO meta_variables (source, hierarchy, target_table) VALUES ( - 'features', - ' - { - "code": "root", - "groups": [{ - "code": "tg1", - "label": "Test Group 1", - "groups": [{ - "code": "tg3", - "label": "Test Group 3", - "variables": [{ - "code": "tv1", - "label": "Test Variable 1", - "type": "text" - }] - }] - }, { - "code": "tg2", - "label": "Test Group 2", - "groups": [{ - "code": "tg4", - "label": "Test Group 4", - "variables": [{ - "code": "tv2", - "label": "Test Variable 2", - "type": "integer" - }, { - "code": "tv3", - "label": "Test Variable 3", - "type": "real" - }] - }] - }] - } - ', - 'FEATURES' -); diff --git a/tests/meta-db/sql/ipv6_listen.sh b/tests/meta-db/sql/ipv6_listen.sh deleted file mode 100755 index a721d5893..000000000 --- a/tests/meta-db/sql/ipv6_listen.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# This script will be executed when Postgres starts -echo "host all all fe80::/10 md5" >> /var/lib/postgresql/data/pg_hba.conf diff --git a/tests/post-test-run.sh b/tests/post-test-run.sh deleted file mode 100755 index cd30147d6..000000000 --- a/tests/post-test-run.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash - - -# Kill old containers - -if [ $(docker ps | grep backend-test | wc -l) -gt 0 ]; then - docker kill backend-test -fi -if [ $(docker ps | grep portal-db-test | wc -l) -gt 0 ]; then - docker kill portal-db-test -fi -if [ $(docker ps | grep features-db-test | wc -l) -gt 0 ]; then - docker kill features-db-test -fi -if [ $(docker ps | grep meta-db-test | wc -l) -gt 0 ]; then - docker kill meta-db-test -fi - - -# Remove old containers - -if [ $(docker ps -a | grep backend-test | wc -l) -gt 0 ]; then - docker rm -f backend-test -fi -if [ $(docker ps -a | grep portal-db-test | wc -l) -gt 0 ]; then - docker rm -f portal-db-test -fi -if [ $(docker ps -a | grep features-db-test | wc -l) -gt 0 ]; then - docker rm -f features-db-test -fi -if [ $(docker ps -a | grep meta-db-test | wc -l) -gt 0 ]; then - docker rm -f meta-db-test -fi diff --git a/tests/pre-test-run.sh b/tests/pre-test-run.sh deleted file mode 100755 index f14b8d789..000000000 --- a/tests/pre-test-run.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env bash - - -# Kill old containers - -echo "Killing old containers..." -if [ $(docker ps | grep backend-test | wc -l) -gt 0 ]; then - docker kill backend-test -fi -if [ $(docker ps | grep portal-db-test | wc -l) -gt 0 ]; then - docker kill portal-db-test -fi -if [ $(docker ps | grep features-db-test | wc -l) -gt 0 ]; then - docker kill features-db-test -fi - - -# Remove old containers - -echo "Removing old containers..." -if [ $(docker ps -a | grep backend-test | wc -l) -gt 0 ]; then - docker rm -f backend-test -fi -if [ $(docker ps -a | grep portal-db-test | wc -l) -gt 0 ]; then - docker rm -f portal-db-test -fi -if [ $(docker ps -a | grep features-db-test | wc -l) -gt 0 ]; then - docker rm -f features-db-test -fi - - -# Run databases containers - -echo "Running databases containers..." -docker run --name features-db-test -p 65432:5432 -v $(pwd)/tests/features-db/sql:/docker-entrypoint-initdb.d/ -e POSTGRES_USER=postgres -d postgres:9.6.5-alpine -docker run --name meta-db-test -p 65433:5432 -v $(pwd)/tests/meta-db/sql:/docker-entrypoint-initdb.d/ -e POSTGRES_USER=postgres -d postgres:9.6.5-alpine -docker run --name portal-db-test -p 65434:5432 -e POSTGRES_USER=postgres -d postgres:9.6.5-alpine - - -# Get gateway IP - -echo "Searching gateway IP..." -GATEWAY_IP=$(docker inspect features-db-test | grep \"Gateway\":\ \" | sed 's/.*Gateway\":\ \"\([^-]*\)\",/\1/' | head -n 1) -echo "Gateway IP: $GATEWAY_IP" - - -# Wait for databases to be ready - -echo "Waiting for features-db to start..." -if [ "$CIRCLECI" = true ] ; then - sleep 10 -else - until [ $(docker exec features-db-test psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do - printf '.' - sleep 1 - done -fi -echo "" - -echo "Waiting for meta-db to start..." -if [ "$CIRCLECI" = true ] ; then - sleep 10 -else -until [ $(docker exec meta-db-test psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do - printf '.' - sleep 1 -done -fi -echo "" - -echo "Waiting for portal-db to start..." -if [ "$CIRCLECI" = true ] ; then - sleep 10 -else -until [ $(docker exec portal-db-test psql -U postgres -c "\q" 2>&1 | wc -l) -eq 0 ]; do - printf '.' - sleep 1 -done -fi -echo "" - - -# Run backend container - -echo "Running backend container..." -docker run --name backend-test -p 65440:8080 \ --e "PORTAL_DB_URL=jdbc:postgresql://$GATEWAY_IP:65434/postgres" \ --e "PORTAL_DB_SERVER=$GATEWAY_IP:65434/postgres" \ --e "PORTAL_DB_USER=postgres" \ --e "META_DB_URL=jdbc:postgresql://$GATEWAY_IP:65433/postgres" \ --e "META_DB_SERVER=$GATEWAY_IP:65433/postgres" \ --e "META_DB_USER=postgres" \ --e "FEATURES_DB_URL=jdbc:postgresql://$GATEWAY_IP:65432/postgres" \ --e "FEATURES_DB_SERVER=$GATEWAY_IP:65432/postgres" \ --e "FEATURES_DB_USER=postgres" \ --e "CONTEXT_PATH=/services" \ --e "AUTHENTICATION=0" \ --d hbpmip/portal-backend:latest - - -# Wait for backend to be ready - -echo "Waiting for backend to start..." -until [ $(docker logs backend-test | grep "Started MIPApplication" | wc -l) -eq 1 ]; do - printf '.' - sleep 1 -done - - -echo "DONE" diff --git a/tests/test.sh b/tests/test.sh new file mode 100755 index 000000000..0306a6168 --- /dev/null +++ b/tests/test.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +set -e + +get_script_dir () { + SOURCE="${BASH_SOURCE[0]}" + + while [ -h "$SOURCE" ]; do + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$( readlink "$SOURCE" )" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" + done + cd -P "$( dirname "$SOURCE" )" + pwd +} + +cd "$(get_script_dir)" + +if pgrep -lf sshuttle > /dev/null ; then + echo "sshuttle detected. Please close this program as it messes with networking and prevents builds inside Docker to work" + exit 1 +fi + +if [[ $NO_SUDO || -n "$CIRCLECI" ]]; then + DOCKER="docker" + DOCKER_COMPOSE="docker-compose" +elif groups $USER | grep &>/dev/null '\bdocker\b'; then + DOCKER="docker" + DOCKER_COMPOSE="docker-compose" +else + DOCKER="sudo docker" + DOCKER_COMPOSE="sudo docker-compose" +fi + +function _cleanup() { + local error_code="$?" + echo "Stopping the containers..." + $DOCKER_COMPOSE stop | true + $DOCKER_COMPOSE down | true + $DOCKER_COMPOSE rm -f > /dev/null 2> /dev/null | true + exit $error_code +} +trap _cleanup EXIT INT TERM + +if [ $($DOCKER network ls | grep -c 'portal-bridge') -lt 1 ]; then + echo "Create portal-bridge network..." + $DOCKER network create portal-bridge +else + echo "Found portal-bridge network !" +fi + +$DOCKER_COMPOSE up -d --remove-orphans db +$DOCKER_COMPOSE run wait_dbs +$DOCKER_COMPOSE run create_dbs + +echo "Migrate metadata database..." +$DOCKER_COMPOSE run meta_db_setup + +echo "Migrate features database..." +$DOCKER_COMPOSE run sample_db_setup + +echo +echo "Start Portal Backend" +$DOCKER_COMPOSE up -d portal_backend + +echo +echo "Wait for Portal Backend to start..." +$DOCKER_COMPOSE run wait_portal_backend + +echo +echo "Test idempotence" +#$DOCKER_COMPOSE run data_db_setup +#$DOCKER_COMPOSE run data_db_check + +# Cleanup +#_cleanup -- GitLab