diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ef2a5db..08e3a82 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,10 +1,10 @@ name: Build Data Collection Application Function on: - push: - branches: [ development ] - schedule: - - cron: '0 0 * * 0' # Executes every Sunday at midnight UT + pull_request: + branches: + - development + - main jobs: ubuntu-build: runs-on: ubuntu-latest @@ -20,12 +20,14 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt install git ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libtins-dev libtalloc-dev libpcre2-dev curl wget default-jdk cmake jq + sudo apt install git ninja-build build-essential flex bison git libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libtins-dev libtalloc-dev libpcre2-dev curl wget default-jdk cmake jq python3-h2 util-linux-extra sudo python -m pip install --upgrade meson - name: Build run: | meson build ninja -C build + - name: Run regression tests + run: meson test -C build regression --print-errorlogs - name: Install working-directory: build run : sudo meson install --no-rebuild diff --git a/tests/scripts/001_provisioning_session.sh b/tests/scripts/001_provisioning_session.sh index 7050d72..c247711 100644 --- a/tests/scripts/001_provisioning_session.sh +++ b/tests/scripts/001_provisioning_session.sh @@ -24,7 +24,7 @@ create_ue_comm_provisioning_session() { inc total_count http_post_json "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions" '{"aspId": "MyASPId", "externalApplicationId": "'"$external_app_id"'", "eventId": "UE_COMM"}' - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count provisioning_session_id="${resp_location##*/}" else @@ -85,7 +85,7 @@ create_provisioning_session_expect_bad_request() { else log_error "create_provisioning_session_expect_bad_request($error_field): Failed on unexpected field" fi - elif [ "$resp_statuscode" = "200" ]; then + elif [ "$resp_statuscode" = "201" ]; then declare -n psid="err_${error_field}_provisioning_session_id" inc ok_count log_warn "create_provisioning_session_expect_bad_request($error_field): expected failure, got success" diff --git a/tests/scripts/002_configure.sh b/tests/scripts/002_configure.sh index 1495776..a752186 100644 --- a/tests/scripts/002_configure.sh +++ b/tests/scripts/002_configure.sh @@ -27,7 +27,7 @@ create_provisioning_session_configuration() { if [ -n "$provisioning_session_id" ]; then http_post_file "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$provisioning_session_id/configurations" 002_configure-good-configuration.json - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count configuration_id="${resp_location##*/}" else @@ -90,6 +90,7 @@ create_provisioning_session_configuration_expect_error_field() { fetch_provisioning_session_configuration() { inc total_count if [ -n "$provisioning_session_id" -a -n "$configuration_id" ]; then + http_get "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$provisioning_session_id/configurations/$configuration_id" if [ "$resp_statuscode" = "200" ]; then if cmp_field_str 'dataReportingConfigurationId' "$configuration_id" && \ cmp_field_str 'dataCollectionClientType' 'DIRECT' && \ diff --git a/tests/scripts/007_bucketing.sh b/tests/scripts/007_bucketing.sh index 151f1d7..9616f49 100644 --- a/tests/scripts/007_bucketing.sh +++ b/tests/scripts/007_bucketing.sh @@ -22,10 +22,10 @@ create_time_bucket_provisioning_session() { inc total_count if [ -n "$af_event_exposure_notif_url" ]; then http_post_json "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions" '{"aspId": "MyASPId", "externalApplicationId": "'"$bucketing_app_id"'", "eventId": "UE_COMM"}' - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then bucketing_psid="${resp_location##*/}" http_post_file "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$bucketing_psid/configurations" 007_bucketing-10s_buckets.json - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count bucketing_config_id="${resp_location##*/}" else diff --git a/tests/scripts/008_aggregations.sh b/tests/scripts/008_aggregations.sh index f3c7518..b8eb02f 100644 --- a/tests/scripts/008_aggregations.sh +++ b/tests/scripts/008_aggregations.sh @@ -24,10 +24,10 @@ create_provisioning_session_aggregation() { if [ -n "$af_event_exposure_notif_url" ]; then http_post_json "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions" '{"aspId": "MyASPId", "externalApplicationId": "'"$app_id_aggregation"'", "eventId": "UE_COMM"}' - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then psid_aggregation="${resp_location##*/}" http_post_file "$dcaf_provisioning_address" "/3gpp-ndcaf_data-reporting-provisioning/v1/sessions/$psid_aggregation/configurations" $config_json - if [ "$resp_statuscode" = "200" ]; then + if [ "$resp_statuscode" = "201" ]; then inc ok_count config_id_aggregation="${resp_location##*/}" else