diff --git a/.github/workflows/aws_ca.yml b/.github/workflows/aws_ca.yml index 82fb9e070..de5dfa4e1 100644 --- a/.github/workflows/aws_ca.yml +++ b/.github/workflows/aws_ca.yml @@ -7,7 +7,7 @@ on: paths: - modules/aws/ca/** - modules/universal/ca/** - - test/modules/awsdeploy/ca/** + - example/aws/ca/** - provision/ansible/** push: branches: @@ -15,7 +15,7 @@ on: paths: - modules/aws/ca/** - modules/universal/ca/** - - test/modules/awsdeploy/ca/** + - example/aws/ca/** - provision/ansible/** jobs: @@ -23,12 +23,10 @@ jobs: name: Terraform runs-on: ubuntu-latest env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} TF_VERSION: 0.12.29 defaults: run: - working-directory: ./test/modules/awsdeploy/ca + working-directory: ./example/aws/ca steps: - name: Checkout @@ -39,20 +37,11 @@ jobs: with: terraform_version: ${{ env.TF_VERSION }} - - name: Set up to using dummy local variables - run: | - rm -f remote.tf locals.tf - mv locals.tf.dummy locals.tf - - name: Terraform Format - run: terraform fmt -check -recursive - working-directory: ./modules/aws/ca + run: for d in . ../../../modules/aws/ca ; do cd ${d} && terraform fmt -check -recursive ;done - name: Terraform Init run: terraform init - name: Terraform Validate run: terraform validate -no-color - - - name: Terraform Plan - run: terraform plan -no-color diff --git a/.github/workflows/aws_ca_example.yml b/.github/workflows/aws_ca_example.yml deleted file mode 100644 index e34993d47..000000000 --- a/.github/workflows/aws_ca_example.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Terraform test for CA module of AWS Example - -on: - pull_request: - branches: - - master - paths: - - modules/aws/ca/** - - modules/universal/ca/** - - examples/aws/ca/** - - provision/ansible/** - push: - branches: - - master - paths: - - modules/aws/ca/** - - modules/universal/ca/** - - examples/aws/ca/** - - provision/ansible/** - -jobs: - terraform: - name: Terraform - runs-on: ubuntu-latest - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TF_VERSION: 0.12.29 - defaults: - run: - working-directory: ./examples/aws/ca - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: ${{ env.TF_VERSION }} - - - name: Terraform Format - run: terraform fmt -check - - - name: Terraform Init - run: terraform init - - - name: Terraform Validate - run: terraform validate -no-color diff --git a/.github/workflows/aws_cassandra.yml b/.github/workflows/aws_cassandra.yml index af027f39c..b6ef15e15 100644 --- a/.github/workflows/aws_cassandra.yml +++ b/.github/workflows/aws_cassandra.yml @@ -9,8 +9,7 @@ on: - modules/universal/cassandra/** - modules/universal/cassy/** - modules/universal/reaper/** - - test/modules/awsdeploy/cassandra/** - - provision/** + - example/aws/cassandra/** push: branches: - master @@ -19,20 +18,17 @@ on: - modules/universal/cassandra/** - modules/universal/cassy/** - modules/universal/reaper/** - - test/modules/awsdeploy/cassandra/** - - provision/** + - example/aws/cassandra/** jobs: terraform: name: Terraform runs-on: ubuntu-latest env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} TF_VERSION: 0.12.29 defaults: run: - working-directory: ./test/modules/awsdeploy/cassandra + working-directory: ./example/aws/cassandra steps: - name: Checkout @@ -43,20 +39,11 @@ jobs: with: terraform_version: ${{ env.TF_VERSION }} - - name: Set up to using dummy local variables - run: | - rm -f remote.tf locals.tf - mv locals.tf.dummy locals.tf - - name: Terraform Format - run: terraform fmt -check -recursive - working-directory: ./modules/aws/cassandra + run: for d in . ../../../modules/aws/cassandra ; do cd ${d} && terraform fmt -check -recursive ;done - name: Terraform Init run: terraform init - name: Terraform Validate run: terraform validate -no-color - - - name: Terraform Plan - run: terraform plan -no-color diff --git a/.github/workflows/aws_cassandra_example.yml b/.github/workflows/aws_cassandra_example.yml deleted file mode 100644 index 41cd66657..000000000 --- a/.github/workflows/aws_cassandra_example.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: Terraform test for Cassandra module of AWS Example - -on: - pull_request: - branches: - - master - paths: - - modules/aws/cassandra/** - - modules/universal/cassandra/** - - modules/universal/cassy/** - - modules/universal/reaper/** - - examples/aws/cassandra/** - - provision/ansible/** - push: - branches: - - master - paths: - - modules/aws/cassandra/** - - modules/universal/cassandra/** - - modules/universal/cassy/** - - modules/universal/reaper/** - - examples/aws/cassandra/** - - provision/ansible/** - -jobs: - terraform: - name: Terraform - runs-on: ubuntu-latest - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TF_VERSION: 0.12.29 - defaults: - run: - working-directory: ./examples/aws/cassandra - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: ${{ env.TF_VERSION }} - - - name: Terraform Format - run: terraform fmt -check - - - name: Terraform Init - run: terraform init - - - name: Terraform Validate - run: terraform validate -no-color diff --git a/.github/workflows/aws_pulsar_example.yml b/.github/workflows/aws_kubernetes.yaml similarity index 57% rename from .github/workflows/aws_pulsar_example.yml rename to .github/workflows/aws_kubernetes.yaml index c52e77bcd..c46f82641 100644 --- a/.github/workflows/aws_pulsar_example.yml +++ b/.github/workflows/aws_kubernetes.yaml @@ -1,32 +1,30 @@ -name: Terraform test for Pulsar module of AWS Example - +name: Terraform test for Kubernetes module of AWS on: pull_request: branches: - master paths: - - modules/aws/pulsar/** + - modules/aws/kubernetes/** + - example/aws/kubernetes/** push: branches: - master paths: - - modules/aws/pulsar/** - + - modules/aws/kubernetes/** + - example/aws/kubernetes/** +defaults: + run: + working-directory: ./example/aws/kubernetes jobs: terraform: name: Terraform runs-on: ubuntu-latest env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} TF_VERSION: 0.12.29 - defaults: - run: - working-directory: ./examples/aws/pulsar steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@master - name: Setup Terraform uses: hashicorp/setup-terraform@v1 @@ -34,7 +32,7 @@ jobs: terraform_version: ${{ env.TF_VERSION }} - name: Terraform Format - run: terraform fmt -check + run: for d in . ../../../modules/aws/kubernetes ; do cd ${d} && terraform fmt -check -recursive ;done - name: Terraform Init run: terraform init diff --git a/.github/workflows/aws_monitor.yml b/.github/workflows/aws_monitor.yml index be180dc1b..190674de2 100644 --- a/.github/workflows/aws_monitor.yml +++ b/.github/workflows/aws_monitor.yml @@ -7,7 +7,7 @@ on: paths: - modules/aws/monitor/** - modules/universal/monitor/** - - test/modules/awsdeploy/monitor/** + - example/aws/monitor/** - provision/** push: branches: @@ -15,7 +15,7 @@ on: paths: - modules/aws/monitor/** - modules/universal/monitor/** - - test/modules/awsdeploy/monitor/** + - example/aws/monitor/** - provision/** jobs: @@ -23,12 +23,10 @@ jobs: name: Terraform runs-on: ubuntu-latest env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} TF_VERSION: 0.12.29 defaults: run: - working-directory: ./test/modules/awsdeploy/monitor + working-directory: ./example/aws/monitor steps: - name: Checkout @@ -39,20 +37,11 @@ jobs: with: terraform_version: ${{ env.TF_VERSION }} - - name: Set up to using dummy local variables - run: | - rm -f remote.tf locals.tf - mv locals.tf.dummy locals.tf - - name: Terraform Format - run: terraform fmt -check -recursive - working-directory: ./modules/aws/monitor + run: for d in . ../../../modules/aws/monitor ; do cd ${d} && terraform fmt -check -recursive ;done - name: Terraform Init run: terraform init - name: Terraform Validate run: terraform validate -no-color - - - name: Terraform Plan - run: terraform plan -no-color diff --git a/.github/workflows/aws_monitor_example.yml b/.github/workflows/aws_monitor_example.yml deleted file mode 100644 index f4eff1772..000000000 --- a/.github/workflows/aws_monitor_example.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Terraform test for Monitor module of AWS Example - -on: - pull_request: - branches: - - master - paths: - - modules/aws/monitor/** - - modules/universal/monitor/** - - examples/aws/monitor/** - - provision/ansible/** - push: - branches: - - master - paths: - - modules/aws/monitor/** - - modules/universal/monitor/** - - examples/aws/monitor/** - - provision/ansible/** - -jobs: - terraform: - name: Terraform - runs-on: ubuntu-latest - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TF_VERSION: 0.12.29 - defaults: - run: - working-directory: ./examples/aws/monitor - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: ${{ env.TF_VERSION }} - - - name: Terraform Format - run: terraform fmt -check - - - name: Terraform Init - run: terraform init - - - name: Terraform Validate - run: terraform validate -no-color diff --git a/.github/workflows/aws_network.yml b/.github/workflows/aws_network.yml index b6dfb43f3..56861fdf7 100644 --- a/.github/workflows/aws_network.yml +++ b/.github/workflows/aws_network.yml @@ -8,7 +8,7 @@ on: - modules/aws/network/** - modules/universal/bastion/** - modules/universal/name-generator/** - - test/modules/awsdeploy/network/** + - examples/aws/network/** - provision/** push: branches: @@ -17,7 +17,7 @@ on: - modules/aws/network/** - modules/universal/bastion/** - modules/universal/name-generator/** - - test/modules/awsdeploy/network/** + - examples/aws/network/** - provision/** jobs: @@ -25,12 +25,10 @@ jobs: name: Terraform runs-on: ubuntu-latest env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} TF_VERSION: 0.12.29 defaults: run: - working-directory: ./test/modules/awsdeploy/network + working-directory: ./examples/aws/network steps: - name: Checkout @@ -42,14 +40,10 @@ jobs: terraform_version: ${{ env.TF_VERSION }} - name: Terraform Format - run: terraform fmt -check -recursive - working-directory: ./modules/aws/network + run: for d in . ../../../modules/aws/network ; do cd ${d} && terraform fmt -check -recursive ;done - name: Terraform Init run: terraform init - name: Terraform Validate run: terraform validate -no-color - - - name: Terraform Plan - run: terraform plan -no-color diff --git a/.github/workflows/aws_network_example.yml b/.github/workflows/aws_network_example.yml deleted file mode 100644 index 41fa5a051..000000000 --- a/.github/workflows/aws_network_example.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Terraform test for Network module of AWS Example - -on: - pull_request: - branches: - - master - paths: - - modules/aws/network/** - - modules/universal/bastion/** - - modules/universal/name-generator/** - - examples/aws/network/** - - provision/ansible/** - push: - branches: - - master - paths: - - modules/aws/network/** - - modules/universal/bastion/** - - modules/universal/name-generator/** - - examples/aws/network/** - - provision/ansible/** - -jobs: - terraform: - name: Terraform - runs-on: ubuntu-latest - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TF_VERSION: 0.12.29 - defaults: - run: - working-directory: ./examples/aws/network - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: ${{ env.TF_VERSION }} - - - name: Terraform Format - run: terraform fmt -check - - - name: Terraform Init - run: terraform init - - - name: Terraform Validate - run: terraform validate -no-color diff --git a/.github/workflows/aws_pulsar.yml b/.github/workflows/aws_pulsar.yml index b5093b527..4a86c0763 100644 --- a/.github/workflows/aws_pulsar.yml +++ b/.github/workflows/aws_pulsar.yml @@ -6,23 +6,23 @@ on: - master paths: - modules/aws/pulsar/** + - examples/aws/pulsar/** push: branches: - master paths: - modules/aws/pulsar/** + - examples/aws/pulsar/** jobs: terraform: name: Terraform runs-on: ubuntu-latest env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} TF_VERSION: 0.12.29 defaults: run: - working-directory: ./test/modules/awsdeploy/pulsar + working-directory: ./examples/aws/pulsar steps: - name: Checkout @@ -33,20 +33,11 @@ jobs: with: terraform_version: ${{ env.TF_VERSION }} - - name: Set up to using dummy local variables - run: | - rm -f remote.tf locals.tf - mv locals.tf.dummy locals.tf - - name: Terraform Format - run: terraform fmt -check -recursive - working-directory: ./modules/aws/pulsar + run: for d in . ../../../modules/aws/pulsar ; do cd ${d} && terraform fmt -check -recursive ;done - name: Terraform Init run: terraform init - name: Terraform Validate run: terraform validate -no-color - - - name: Terraform Plan - run: terraform plan -no-color diff --git a/.github/workflows/aws_scalardl.yml b/.github/workflows/aws_scalardl.yml index 5087e5294..77c13975b 100644 --- a/.github/workflows/aws_scalardl.yml +++ b/.github/workflows/aws_scalardl.yml @@ -8,7 +8,7 @@ on: - modules/aws/scalardl/** - modules/universal/scalardl/** - modules/universal/envoy/** - - test/modules/awsdeploy/scalardl/** + - examples/aws/scalardl/** - provision/** push: branches: @@ -17,7 +17,7 @@ on: - modules/aws/scalardl/** - modules/universal/scalardl/** - modules/universal/envoy/** - - test/modules/awsdeploy/scalardl/** + - examples/aws/scalardl/** - provision/** jobs: @@ -25,12 +25,10 @@ jobs: name: Terraform runs-on: ubuntu-latest env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} TF_VERSION: 0.12.29 defaults: run: - working-directory: ./test/modules/awsdeploy/scalardl + working-directory: ./examples/aws/scalardl steps: - name: Checkout @@ -41,20 +39,11 @@ jobs: with: terraform_version: ${{ env.TF_VERSION }} - - name: Set up to using dummy local variables - run: | - rm -f remote.tf locals.tf - mv locals.tf.dummy locals.tf - - name: Terraform Format - run: terraform fmt -check -recursive - working-directory: ./modules/aws/scalardl + run: for d in . ../../../modules/azure/scalardl ; do cd ${d} && terraform fmt -check -recursive ;done - name: Terraform Init run: terraform init - name: Terraform Validate run: terraform validate -no-color - - - name: Terraform Plan - run: terraform plan -no-color diff --git a/.github/workflows/aws_scalardl_example.yml b/.github/workflows/aws_scalardl_example.yml deleted file mode 100644 index 06ece3e09..000000000 --- a/.github/workflows/aws_scalardl_example.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: Terraform test for Scalar DL module of AWS Example - -on: - pull_request: - branches: - - master - paths: - - modules/aws/scalardl/** - - modules/universal/scalardl/** - - modules/universal/envoy/** - - examples/aws/scalardl/** - - provision/ansible/** - push: - branches: - - master - paths: - - modules/aws/scalardl/** - - modules/universal/scalardl/** - - modules/universal/envoy/** - - examples/aws/scalardl/** - - provision/ansible/** - -jobs: - terraform: - name: Terraform - runs-on: ubuntu-latest - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TF_VERSION: 0.12.29 - defaults: - run: - working-directory: ./examples/aws/scalardl - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: ${{ env.TF_VERSION }} - - - name: Terraform Format - run: terraform fmt -check - - - name: Terraform Init - run: terraform init - - - name: Terraform Validate - run: terraform validate -no-color diff --git a/.github/workflows/aws_terratest.yml b/.github/workflows/aws_terratest.yml deleted file mode 100644 index 2124ad950..000000000 --- a/.github/workflows/aws_terratest.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Integration-test-with-terratest-for-AWS - -on: - schedule: - - cron: 0 15 * * * - -jobs: - terratest: - name: Terratest - runs-on: ubuntu-latest - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - TF_VERSION: 0.12.29 - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: ${{ env.TF_VERSION }} - terraform_wrapper: false - - - name: Docker login - run: echo ${DOCKER_PASSWORD} | docker login -u scalartest --password-stdin docker.io - env: - DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }} - - - name: Download scalardl client sdk - run: | - curl -L https://github.com/scalar-labs/scalardl-java-client-sdk/archive/v${SCALARDL_JAVA_CLIENT_SDK_VERSION}.tar.gz | tar xvzf - - mv ./scalardl-java-client-sdk-${SCALARDL_JAVA_CLIENT_SDK_VERSION} ./scalardl-java-client-sdk - env: - SCALARDL_JAVA_CLIENT_SDK_VERSION: 2.1.0 - working-directory: ./test/src/integration - - - name: Set up GO - uses: actions/setup-go@v1 - with: - go-version: 1.13.5 - id: go - - - name: Create ssh key - run: | - ssh-keygen -N "" -t rsa -f test_key <<= 1)) -} - -func verifyAlertNotFiring(t *testing.T, host string, alertname string) { - _, count, _ := prometheus_helper.QueryAlert(t, host, alertname) - assert.Equal(t, 0, count) -} - -func verifyServiceCount(t *testing.T, host string, servicename string, expected string) { - _, count, response := prometheus_helper.QueryRule(t, host, servicename) - if count > 0 { - assert.Equal(t, expected, response.Data.Result[0].Value[1]) - } else { - assert.Equal(t, expected, "0") - } -} diff --git a/test/src/integration/integration_scalardl_test.go b/test/src/integration/integration_scalardl_test.go deleted file mode 100644 index 17d5bd016..000000000 --- a/test/src/integration/integration_scalardl_test.go +++ /dev/null @@ -1,85 +0,0 @@ -package test - -import ( - "fmt" - "io/ioutil" - "testing" - - "modules/grpc_helper" - - "github.com/gruntwork-io/terratest/modules/logger" - "github.com/stretchr/testify/assert" -) - -func TestScalarDL(t *testing.T) { - t.Run("scalardl", func(t *testing.T) { - t.Run("ScalarDLWithJavaClient", TestScalarDLWithJavaClientExpectStatusCodeIsValid) - t.Run("ScalarDLWithGrpcWebClient", TestScalarDLWithGrpcWebClientExpectStatusCodeIsValid) - }) -} - -func TestScalarDLWithJavaClientExpectStatusCodeIsValid(t *testing.T) { - expectedRegisterCertStatusCode := []string{"OK", "CERTIFICATE_ALREADY_REGISTERED"} - expectedRegisterContractStatusCode := []string{"OK", "CONTRACT_ALREADY_REGISTERED"} - expectedExecuteContractStatusCode := "OK" - expectedValidateLedgerStatusCode := "OK" - expectedListContractsStatusCode := "OK" - - contractID := "test-contract1" - contractBinaryName := "com.org1.contract.StateUpdater" - contractClassFile := "./resources/StateUpdater.class" - assetID := "over9000" - assetArgument := fmt.Sprintf(`{"asset_id": "%s", "state": 9001}`, assetID) - propertiesFile := "./resources/test.properties" - - scalarurl := lookupTargetValue(t, "scalardl", "scalar_dns") - logger.Logf(t, "URL: %s", scalarurl) - writePropertiesFile(t, scalarurl) - - code, _ := grpc_helper.GrpcJavaRegisterCert(t, propertiesFile) - assert.Contains(t, expectedRegisterCertStatusCode, code) - - code, _ = grpc_helper.GrpcJavaRegisterContract(t, propertiesFile, contractID, contractBinaryName, contractClassFile) - assert.Contains(t, expectedRegisterContractStatusCode, code) - - code, _ = grpc_helper.GrpcJavaExectueContract(t, propertiesFile, contractID, assetArgument) - assert.Equal(t, expectedExecuteContractStatusCode, code) - - code, _ = grpc_helper.GrpcJavaValidateAsset(t, propertiesFile, assetID) - assert.Equal(t, expectedValidateLedgerStatusCode, code) - - code, _ = grpc_helper.GrpcJavaListContracts(t, propertiesFile) - assert.Equal(t, expectedListContractsStatusCode, code) -} - -func TestScalarDLWithGrpcWebClientExpectStatusCodeIsValid(t *testing.T) { - expectedStatusCode := 200 - - scalarurl := lookupTargetValue(t, "scalardl", "scalar_dns") - logger.Logf(t, "URL: %s", scalarurl) - - //Register Certificate - requestData := "AAAAAFIKBW1kYm94EAEiRzBFAiEAx4josbxWPEuZ7w/imnl5B/xY0FKbQLkuK/E/UFUHbmwCIGBludc3JD3pkTYqmeT186g+rDaoFkLqHg4xCQ8uCL3w" - listContractURL := fmt.Sprintf(`http://%s:50051/rpc.Ledger/ListContracts`, scalarurl) - - statuCode, _ := grpc_helper.GrpcWebTest(t, listContractURL, requestData) - - assert.Equal(t, expectedStatusCode, statuCode) -} - -func writePropertiesFile(t *testing.T, host string) { - properties := []byte(fmt.Sprintf(` - scalar.dl.client.server.host=%s - scalar.dl.client.server.port=50051 - scalar.dl.client.server.privileged_port=50052 - scalar.dl.client.cert_holder_id=test - scalar.dl.client.cert_version=1 - scalar.dl.client.cert_path=./resources/Test.pem - scalar.dl.client.private_key_path=./resources/Test-key.pem - `, host)) - - err := ioutil.WriteFile("./resources/test.properties", properties, 0644) - if err != nil { - t.Fatal(err) - } -} diff --git a/test/src/integration/integration_test.go b/test/src/integration/integration_test.go deleted file mode 100644 index 31dd3cdb6..000000000 --- a/test/src/integration/integration_test.go +++ /dev/null @@ -1,68 +0,0 @@ -package test - -import ( - "flag" - "testing" - "time" - - "github.com/gruntwork-io/terratest/modules/logger" - "github.com/gruntwork-io/terratest/modules/terraform" - test_structure "github.com/gruntwork-io/terratest/modules/test-structure" -) - -var terraformDir = flag.String("directory", "", "Directory path of the terraform module to test") - -func TestEndToEnd(t *testing.T) { - t.Parallel() - logger.Logf(t, "Start End To End Test") - - defer test_structure.RunTestStage(t, "teardown", func() { - scalarModules := []string{"monitor", "scalardl", "cassandra", "network"} - - for _, m := range scalarModules { - terraformOptions := &terraform.Options{ - TerraformDir: *terraformDir + m, - Vars: map[string]interface{}{}, - NoColor: true, - } - - logger.Logf(t, "Destroying <%s> Infrastructure", m) - terraform.DestroyE(t, terraformOptions) - } - - logger.Logf(t, "Finished End To End Test") - }) - - test_structure.RunTestStage(t, "setup", func() { - scalarModules := []string{"network", "cassandra", "scalardl", "monitor"} - - for _, m := range scalarModules { - terraformOptions := &terraform.Options{ - TerraformDir: *terraformDir + m, - Vars: map[string]interface{}{}, - NoColor: true, - } - - logger.Logf(t, "Creating <%s> Infrastructure", m) - terraform.InitAndApply(t, terraformOptions) - } - - logger.Logf(t, "Finished Creating Infrastructure: Tests will continue in 2 minutes") - time.Sleep(120 * time.Second) - }) - - test_structure.RunTestStage(t, "validate", func() { - t.Run("TestScalarDL", TestScalarDL) - // t.Run("TestPrometheusAlerts", TestPrometheusAlerts) - }) -} - -func lookupTargetValue(t *testing.T, module string, targetValue string) string { - terraformOptions := &terraform.Options{ - TerraformDir: *terraformDir + module, - Vars: map[string]interface{}{}, - NoColor: true, - } - - return terraform.OutputRequired(t, terraformOptions, targetValue) -} diff --git a/test/src/integration/resources/StateReader.class b/test/src/integration/resources/StateReader.class deleted file mode 100644 index ad47c971f..000000000 Binary files a/test/src/integration/resources/StateReader.class and /dev/null differ diff --git a/test/src/integration/resources/StateUpdater.class b/test/src/integration/resources/StateUpdater.class deleted file mode 100644 index d840eee9c..000000000 Binary files a/test/src/integration/resources/StateUpdater.class and /dev/null differ diff --git a/test/src/integration/resources/Test-key.pem b/test/src/integration/resources/Test-key.pem deleted file mode 100644 index 7b20178b9..000000000 --- a/test/src/integration/resources/Test-key.pem +++ /dev/null @@ -1,5 +0,0 @@ ------BEGIN EC PRIVATE KEY----- -MHcCAQEEIAsT5Djw3dCytAH2X+UEJnihuLWdG+eVepz4EQRhEWAtoAoGCCqGSM49 -AwEHoUQDQgAEBaWOchTN9JzVPj7yVeoXuIqn4fHt/eU1NvsolzfrDM8J3TRYYkuf -WEhXPAGwbYHwWGs4KqD6vE6Gp3gRI+z2Og== ------END EC PRIVATE KEY----- diff --git a/test/src/integration/resources/Test.pem b/test/src/integration/resources/Test.pem deleted file mode 100644 index cec87b0d3..000000000 --- a/test/src/integration/resources/Test.pem +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICfTCCAiOgAwIBAgIUONUIHpg4FFohV7Vn0LfDF41EN5cwCgYIKoZIzj0EAwIw -fzELMAkGA1UEBhMCSlAxDjAMBgNVBAgTBVRva3lvMQ4wDAYDVQQHEwVUb2t5bzEn -MCUGA1UEChMeU2NhbGFyIFNhbmRib3ggSW50ZXJtZWRpYXRlIENBMScwJQYDVQQD -Ex5TY2FsYXIgU2FuZGJveCBJbnRlcm1lZGlhdGUgQ0EwHhcNMTkwMTI0MDk1MzAw -WhcNMjIwMTIzMDk1MzAwWjAmMSQwIgYDVQQDExtTY2FsYXIgU2FuZGJveCBDbGll -bnQgTURCb3gwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQFpY5yFM30nNU+PvJV -6he4iqfh8e395TU2+yiXN+sMzwndNFhiS59YSFc8AbBtgfBYazgqoPq8ToaneBEj -7PY6o4HVMIHSMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDAjAM -BgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSxEr6yG/81BZkjLIwx7Wcj7tqJfjAfBgNV -HSMEGDAWgBRs4LNwvnOSyNsV+xl+LC4CxZJ07jAxBggrBgEFBQcBAQQlMCMwIQYI -KwYBBQUHMAGGFWh0dHA6Ly9sb2NhbGhvc3Q6ODg4OTAqBgNVHR8EIzAhMB+gHaAb -hhlodHRwOi8vbG9jYWxob3N0Ojg4ODgvY3JsMAoGCCqGSM49BAMCA0gAMEUCIQCm -bf1NYphjfgjsBy8LQjDm4AxJlJyk3LK3XBZ/iQ6b/gIgYDya7FN81C2fKZDB29Rh -uyyuEzbmy1tieYA9IhH4lEk= ------END CERTIFICATE----- diff --git a/test/src/modules/Gopkg.lock b/test/src/modules/Gopkg.lock deleted file mode 100644 index 73eef90b7..000000000 --- a/test/src/modules/Gopkg.lock +++ /dev/null @@ -1,17 +0,0 @@ -# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. - - -[[projects]] - digest = "1:6fa8b886634cec12375d8a9187a01f297a19f7ea8e8eb8b1935d39f9f24e32cc" - name = "github.com/gruntwork-io/terratest" - packages = ["modules/logger"] - pruneopts = "UT" - revision = "ef405f088c69e1dc5913c8026daa10efc33d9283" - version = "v0.15.13" - -[solve-meta] - analyzer-name = "dep" - analyzer-version = 1 - input-imports = ["github.com/gruntwork-io/terratest/modules/logger"] - solver-name = "gps-cdcl" - solver-version = 1 diff --git a/test/src/modules/Gopkg.toml b/test/src/modules/Gopkg.toml deleted file mode 100644 index bd96676e3..000000000 --- a/test/src/modules/Gopkg.toml +++ /dev/null @@ -1,34 +0,0 @@ -# Gopkg.toml example -# -# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html -# for detailed Gopkg.toml documentation. -# -# required = ["github.com/user/thing/cmd/thing"] -# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] -# -# [[constraint]] -# name = "github.com/user/project" -# version = "1.0.0" -# -# [[constraint]] -# name = "github.com/user/project2" -# branch = "dev" -# source = "github.com/myfork/project2" -# -# [[override]] -# name = "github.com/x/y" -# version = "2.4.0" -# -# [prune] -# non-go = false -# go-tests = true -# unused-packages = true - - -[[constraint]] - name = "github.com/gruntwork-io/terratest" - version = "0.15.13" - -[prune] - go-tests = true - unused-packages = true diff --git a/test/src/modules/grpc_helper/grpc_helper.go b/test/src/modules/grpc_helper/grpc_helper.go deleted file mode 100644 index de8b78dfd..000000000 --- a/test/src/modules/grpc_helper/grpc_helper.go +++ /dev/null @@ -1,137 +0,0 @@ -package grpc_helper - -import ( - "bytes" - "encoding/base64" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "os/exec" - "testing" - - "github.com/gruntwork-io/terratest/modules/logger" -) - -func GrpcJavaListContracts(t *testing.T, propertiesFile string) (string, string) { - action := "list-contracts" - - options := []string{ - "--properties", propertiesFile, - } - - return GrpcJavaTest(t, action, options...) -} - -func GrpcJavaValidateAsset(t *testing.T, propertiesFile string, assetId string) (string, string) { - action := "validate-ledger" - - options := []string{ - "--properties", propertiesFile, - "--asset-id", assetId, - } - - return GrpcJavaTest(t, action, options...) -} - -func GrpcJavaExectueContract(t *testing.T, propertiesFile string, contractId string, contractArgument string) (string, string) { - action := "execute-contract" - - options := []string{ - "--properties", propertiesFile, - "--contract-id", contractId, - "--contract-argument", contractArgument, - } - - return GrpcJavaTest(t, action, options...) -} - -func GrpcJavaRegisterContract(t *testing.T, propertiesFile string, contractId string, contractBinaryName string, contractClassFile string) (string, string) { - action := "register-contract" - - options := []string{ - "--properties", propertiesFile, - "--contract-id", contractId, - "--contract-binary-name", contractBinaryName, - "--contract-class-file", contractClassFile, - } - - return GrpcJavaTest(t, action, options...) -} - -func GrpcJavaRegisterCert(t *testing.T, propertiesFile string) (string, string) { - action := "register-cert" - - options := []string{ - "--properties", propertiesFile, - } - - return GrpcJavaTest(t, action, options...) -} - -func GrpcJavaTest(t *testing.T, action string, options ...string) (string, string) { - logger.Logf(t, "Starting Java %s %v", action, options) - command := fmt.Sprintf(`scalardl-java-client-sdk/client/bin/%s`, action) - cmd := exec.Command(command, options...) - - byteOutput, err := cmd.CombinedOutput() - if err != nil { - // It continues the test since it checks error cases as well - } - - response_status := &struct { - Code string `json:"status_code"` - ErrorMessage string `json:"error_message"` - }{} - - if err := json.Unmarshal(byteOutput, &response_status); err != nil { - t.Fatal(err) - } - - logger.Logf(t, "%s", response_status.Code) - logger.Logf(t, "%s", response_status.ErrorMessage) - - return response_status.Code, response_status.ErrorMessage -} - -func GrpcWebTest(t *testing.T, url string, data string) (int, string) { - statusCode, body, err := GrpcWebTestE(t, url, data) - if err != nil { - t.Fatal(err) - } - - return statusCode, body -} - -func GrpcWebTestE(t *testing.T, url string, data string) (int, string, error) { - logger.Logf(t, "Making GRPC_WEB call to URL %s", url) - - client := &http.Client{} - req, err := http.NewRequest("POST", url, bytes.NewBufferString(data)) - - req.Header.Add("Content-Type", "application/grpc-web-text") - req.Header.Add("X-User-Agent", "grpc-web-javascript/0.1") - req.Header.Add("Connection", "keep-alive") - req.Header.Add("Accept", "application/grpc-web-text") - req.Header.Add("X-Grpc-Web", "1") - - resp, err := client.Do(req) - if err != nil { - return -1, "", err - } - - defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return -1, "", err - } - - logger.Logf(t, "%s", string(body)) - message, _ := base64.StdEncoding.DecodeString(string(body)) - - logger.Logf(t, "Reponse Status: %s", resp.Status) - logger.Logf(t, "Reponse Body: %s", string(body)) - logger.Logf(t, "Reponse Message: %s", string(message)) - - return resp.StatusCode, string(message), nil -} diff --git a/test/src/modules/grpc_helper/grpc_web_test.sh b/test/src/modules/grpc_helper/grpc_web_test.sh deleted file mode 100644 index 0b8be6b3a..000000000 --- a/test/src/modules/grpc_helper/grpc_web_test.sh +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/bash - -# Usage Function -function usage() { - if [ -n "$1" ]; then - echo -e "${RED}👉 $1${CLEAR}\n"; - fi - echo "Usage: $0 [-h --host] [-d --data] [-e --expected] [-r --request]" - echo " -h, --host dns host name (required) 'localhost'" - echo " -e, --expected Base64 expected response (required) 'AAAAAFI...'" - echo " -r, --request The request path (required) '/rpc.Ledger/ListContracts'" - echo " -d, --data Base64 data string (required) 'AAAAAFIK...'" - echo " -p, --port Default: 50051 (optional)" - echo " -P, --protocol Default: 'http' Connection Protocol(optional) 'http' or 'https'" - echo " -M, --max_time Default: 10 seconds" - echo " -v, --verbose Enable Verbose Logging" - echo "" - echo "Example: $0 --host localhost --request /rpc.Ledger/ListContracts\ - --expected AAAAAQcIyAESgQJ7IjMiOnsiY29udHJhY3RfbmFtZSI6ImNvbS5vcmcxLmNvbnRyYWN0LlN0YXRlVXBkYXRlciIsImNlcnRfaWQiOiJtZGJveCIsImNlcnRfdmVyc2lvbiI6MSwiY29udHJhY3RfcHJvcGVydGllcyI6e30sInJlZ2lzdGVyZWRfYXQiOjE1NTgzMzQ5NTU0MjUsInNpZ25hdHVyZSI6Ik1FWUNJUURQVXpPVGdvaGE2bzJQV2FWL0xpRmhVMTI1SGpCeVlLYnphT0Z3a1ZxeXlRSWhBTkd6d3ltVjV5SlBhVjZMWG9rbXhEQlZpODNWc0tlNndndTBVSEh4aWhlVyJ9fQ==\ - --data AAAAAFIKBW1kYm94EAEiRzBFAiEAx4josbxWPEuZ7w/imnl5B/xY0FKbQLkuK/E/UFUHbmwCIGBludc3JD3pkTYqmeT186g+rDaoFkLqHg4xCQ8uCL3w" - exit 1 -} - -# Set Default Values -REQUEST_PROTOCOL='http' -SERVER_PORT='50051' -MAX_TIME=10 -VERBOSE='-s' - -# Parse input arguments -while [[ "$#" -gt 0 ]]; do case $1 in - -e|--expected) EXPECTED_DATA="$2"; shift;; - -d|--data) REQUEST_DATA="$2"; shift;; - -m|--method) REQUEST_PROTOCOL="$2"; shift;; - -h|--host) SERVER_HOST="$2"; shift;; - -p|--port) SERVER_PORT="$2"; shift;; - -r|--request) REQUEST_PATH="$2"; shift;; - -H|--help) usage=1;; - -v|--verbose) VERBOSE="-v";; - -M|--max-time) MAX_TIME="$2"; shift;; - *) usage "Unknown parameter passed: $1"; shift;; -esac; shift; done - -# Check if --help -h was passed as argument -if [[ $usage = "1" ]]; then - usage -fi - -# Verify required arguments are set -if [[ -z ${REQUEST_PATH} || -z ${SERVER_HOST} || -z ${EXPECTED_DATA} || -z ${REQUEST_DATA} ]]; then - usage "Missing one or more required arguments"; -fi - -# Start Test -echo "*********************************************************" -echo "* Testing... $REQUEST_PATH" -echo "*" -echo "* SERVER_HOST : $SERVER_HOST" -echo "* SERVER_PORT : $SERVER_PORT" -echo "* REQUEST_PATH : $REQUEST_PATH" -echo "* REQUEST_PROTOCOL: $REQUEST_PROTOCOL" -echo "* REQUEST_DATA : $REQUEST_DATA" -echo "* EXPECTED_DATA : $EXPECTED_DATA" -echo "* MAX_TIME : $MAX_TIME seconds" -echo "*" -echo "* Connecting... $REQUEST_PROTOCOL://$SERVER_HOST:$SERVER_PORT$REQUEST_PATH" - -out=$(curl "$VERBOSE" "$REQUEST_PROTOCOL://$SERVER_HOST:$SERVER_PORT$REQUEST_PATH" \ - -H 'X-User-Agent: grpc-web-javascript/0.1' \ - -H "Origin: $REQUEST_PROTOCOL://$SERVER_HOST:$SERVER_PORT" \ - -H 'Content-Type: application/grpc-web-text' \ - -H 'Accept: application/grpc-web-text' \ - -H 'X-Grpc-Web: 1' \ - -H "Referer: $REQUEST_PROTOCOL://$SERVER_HOST:$POST" \ - -H 'Connection: keep-alive' \ - --max-time $MAX_TIME \ - --data-binary "$REQUEST_DATA" \ - --compressed) - -if [[ "$out" != "$EXPECTED_DATA" ]]; then - echo "*" - echo "* Expected:" - echo "$EXPECTED_DATA" - echo "*" - echo "* Actual:" - echo "$out" - echo "*" - echo "* Failed" - echo "*" - echo "*********************************************************" - exit 1; -fi - -echo "*" -echo "* Passed" -echo "*" -echo "*********************************************************" diff --git a/test/src/modules/prometheus_helper/prometheus_helper.go b/test/src/modules/prometheus_helper/prometheus_helper.go deleted file mode 100644 index 23f6f65fe..000000000 --- a/test/src/modules/prometheus_helper/prometheus_helper.go +++ /dev/null @@ -1,140 +0,0 @@ -package prometheus_helper - -import ( - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "net/url" - "testing" - - "github.com/gruntwork-io/terratest/modules/logger" -) - -type metric struct { - Name string `json:"__name__"` - Job string `json:"job"` - Role string `json:"role"` - Instance string `json:"instance"` - Alertname string `json:"alertname"` - Alertstate string `json:"alertstate"` -} - -type result struct { - Metric metric `json:"metric"` - Value []interface{} `json:"value"` -} - -type data struct { - ResultType string `json:"resultType"` - Result []result `json:"result"` -} - -type prometheus struct { - Status string `json:"status"` - Data data `json:"data"` -} - -func QueryRule(t *testing.T, host string, rulename string) (int, int, prometheus) { - statusCode, count, response, err := QueryRuleE(t, host, rulename) - if err != nil { - t.Fatal(err) - } - - return statusCode, count, response -} - -func QueryRuleE(t *testing.T, host string, rulename string) (int, int, prometheus, error) { - prometheusUrl, err := url.Parse(host) - if err != nil { - return -1, -1, prometheus{}, err - } - - prometheusUrl, err = prometheusUrl.Parse("/api/v1/query") - if err != nil { - return -1, -1, prometheus{}, err - } - - query := prometheusUrl.Query() - query.Add("query", rulename) - prometheusUrl.RawQuery = query.Encode() - - statusCode, response, err := CallApiE(t, prometheusUrl.String()) - if err != nil { - return -1, -1, prometheus{}, err - } - - count := len(response.Data.Result) - - return statusCode, count, response, nil -} - -func QueryAlert(t *testing.T, host string, alertname string) (int, int, prometheus) { - statusCode, count, response, err := QueryAlertE(t, host, alertname) - if err != nil { - t.Fatal(err) - } - - return statusCode, count, response -} - -func QueryAlertE(t *testing.T, host string, alertname string) (int, int, prometheus, error) { - prometheusUrl, err := url.Parse(host) - if err != nil { - return -1, -1, prometheus{}, err - } - - prometheusUrl, err = prometheusUrl.Parse("/api/v1/query") - if err != nil { - return -1, -1, prometheus{}, err - } - - query := prometheusUrl.Query() - query.Add("query", fmt.Sprintf(`ALERTS{alertname="%s"}`, alertname)) - prometheusUrl.RawQuery = query.Encode() - - statusCode, response, err := CallApiE(t, prometheusUrl.String()) - if err != nil { - return -1, -1, prometheus{}, err - } - - count := len(response.Data.Result) - - return statusCode, count, response, nil -} - -func CallApiE(t *testing.T, urlString string) (int, prometheus, error) { - prometheusUrl, err := url.Parse(urlString) - if err != nil { - return -1, prometheus{}, err - } - - logger.Logf(t, "Making Prometheus API call to URL %s", prometheusUrl.String()) - - client := &http.Client{} - - req, err := http.NewRequest("GET", prometheusUrl.String(), nil) - if err != nil { - return -1, prometheus{}, err - } - - resp, err := client.Do(req) - if err != nil { - return -1, prometheus{}, err - } - - defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return -1, prometheus{}, err - } - - response := prometheus{} - - if err := json.Unmarshal(body, &response); err != nil { - return -1, prometheus{}, err - } - logger.Logf(t, "Prometheus: %+v", response) - - return resp.StatusCode, response, nil -}