Skip to content
This repository has been archived by the owner on Jul 3, 2023. It is now read-only.

Commit

Permalink
Merge pull request #12 from iwarapter/bugfixes
Browse files Browse the repository at this point in the history
Bugfixes
  • Loading branch information
iwarapter authored Sep 7, 2019
2 parents 97aa80e + b125f04 commit 038c7a0
Show file tree
Hide file tree
Showing 2,563 changed files with 742,564 additions and 146 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
vendor
func-tests/.terraform
func-tests/crash.log
func-tests/run.log
func-tests/terraform.*
terraform-provider-pingaccess
terraform-provider-pingaccess_v*
.scannerwork/
.vscode/
run.log
Expand Down
8 changes: 4 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ addons:
organization: "iwarapter-github"

script:
- go mod vendor
- go mod verify
- make test-and-report
- sonar-scanner
- go mod vendor || travis_terminate 1;
- go mod verify || travis_terminate 1;
- make test-and-report || travis_terminate 1;
- sonar-scanner || travis_terminate 1;
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## 0.0.2-BETA (Unreleased)
## 0.2.0 (Unreleased)

NOTES:

Expand All @@ -13,6 +13,14 @@ FEATURES:
* **New Resource:** `pingaccess_access_token_validator`
* **New Resource:** `pingaccess_keypair` ([#4](https://github.com/iwarapter/terraform-provider-pingaccess/issues/4))

BUG FIXES:

* resource/pingaccess_application: Fixing issue with an empty `policy` block ([#7](https://github.com/iwarapter/terraform-provider-pingaccess/issues/7))
* resource/pingaccess_application_resource: Fixing issue with an empty `policy` block ([#7](https://github.com/iwarapter/terraform-provider-pingaccess/issues/7))
* resource/pingaccess_application_resource: path_prefixes is deprecated but required ([#8](https://github.com/iwarapter/terraform-provider-pingaccess/issues/8))
* resource/pingaccess_certificate: Certificate `alias` change forces new resource ([#6](https://github.com/iwarapter/terraform-provider-pingaccess/issues/6))


## 0.0.1-BETA (August 4, 2019)

NOTES:
Expand Down
34 changes: 18 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Makefile
VERSION ?= local
NAME=terraform-provider-pingaccess_v${VERSION}

sweep:
@TF_ACC=1 go test ./... -v -sweep=true
Expand All @@ -8,33 +10,33 @@ pa-init:

test:
@rm -f pingaccess/terraform.log
@TF_LOG=TRACE TF_LOG_PATH=./terraform.log TF_ACC=1 go test ./... -v
@TF_LOG=TRACE TF_LOG_PATH=./terraform.log TF_ACC=1 go test -mod=vendor ./... -v

test-and-report:
@rm -f pingaccess/terraform.log coverage.out report.json
@TF_LOG=TRACE TF_LOG_PATH=./terraform.log TF_ACC=1 go test ./... -v -coverprofile=coverage.out -json > report.json && go tool cover -func=coverage.out
@TF_LOG=TRACE TF_LOG_PATH=./terraform.log TF_ACC=1 go test -mod=vendor ./... -v -coverprofile=coverage.out -json > report.json && go tool cover -func=coverage.out

build:
@go build -o terraform-provider-pingaccess .
@go build -mod=vendor -o ${NAME} -gcflags "all=-trimpath=$GOPATH" .

release:
@rm -rf build/*
GOOS=darwin GOARCH=amd64 go build -o build/darwin_amd64/terraform-provider-pingaccess . && zip -j build/darwin_amd64.zip build/darwin_amd64/terraform-provider-pingaccess
# GOOS=freebsd GOARCH=386 go build -o build/freebsd_386/terraform-provider-pingaccess .
# GOOS=freebsd GOARCH=amd64 go build -o build/freebsd_amd64/terraform-provider-pingaccess .
# GOOS=freebsd GOARCH=arm go build -o build/freebsd_arm/terraform-provider-pingaccess .
# GOOS=linux GOARCH=386 go build -o build/linux_386/terraform-provider-pingaccess .
GOOS=linux GOARCH=amd64 go build -o build/linux_amd64/terraform-provider-pingaccess . && zip -j build/linux_amd64.zip build/linux_amd64/terraform-provider-pingaccess
# GOOS=linux GOARCH=arm go build -o build/linux_arm/terraform-provider-pingaccess .
# GOOS=openbsd GOARCH=386 go build -o build/openbsd_386/terraform-provider-pingaccess .
# GOOS=openbsd GOARCH=amd64 go build -o build/openbsd_amd64/terraform-provider-pingaccess .
# GOOS=solaris GOARCH=amd64 go build -o build/solaris_amd64/terraform-provider-pingaccess .
# GOOS=windows GOARCH=386 go build -o build/windows_386/terraform-provider-pingaccess .
GOOS=windows GOARCH=amd64 go build -o build/windows_amd64/terraform-provider-pingaccess . && zip -j build/windows_amd64.zip build/windows_amd64/terraform-provider-pingaccess
GOOS=darwin GOARCH=amd64 go build -o -mod=vendor build/darwin_amd64/${NAME} -gcflags "all=-trimpath=$GOPATH" . && zip -j build/darwin_amd64.zip build/darwin_amd64/${NAME}
# GOOS=freebsd GOARCH=386 go build -o -mod=vendor build/freebsd_386/${NAME} -gcflags "all=-trimpath=$GOPATH" .
# GOOS=freebsd GOARCH=amd64 go build -o -mod=vendor build/freebsd_amd64/${NAME} -gcflags "all=-trimpath=$GOPATH" .
# GOOS=freebsd GOARCH=arm go build -o -mod=vendor build/freebsd_arm/${NAME} -gcflags "all=-trimpath=$GOPATH" .
# GOOS=linux GOARCH=386 go build -o -mod=vendor build/linux_386/${NAME} -gcflags "all=-trimpath=$GOPATH" .
GOOS=linux GOARCH=amd64 go build -o -mod=vendor build/linux_amd64/${NAME} -gcflags "all=-trimpath=$GOPATH" . && zip -j build/linux_amd64.zip build/linux_amd64/${NAME}
# GOOS=linux GOARCH=arm go build -o -mod=vendor build/linux_arm/${NAME} -gcflags "all=-trimpath=$GOPATH" .
# GOOS=openbsd GOARCH=386 go build -o -mod=vendor build/openbsd_386/${NAME} -gcflags "all=-trimpath=$GOPATH" .
# GOOS=openbsd GOARCH=amd64 go build -o -mod=vendor build/openbsd_amd64/${NAME} -gcflags "all=-trimpath=$GOPATH" .
# GOOS=solaris GOARCH=amd64 go build -o -mod=vendor build/solaris_amd64/${NAME} -gcflags "all=-trimpath=$GOPATH" .
# GOOS=windows GOARCH=386 go build -o -mod=vendor build/windows_386/${NAME} -gcflags "all=-trimpath=$GOPATH" .
GOOS=windows GOARCH=amd64 go build -o -mod=vendor build/windows_amd64/${NAME} -gcflags "all=-trimpath=$GOPATH" . && zip -j build/windows_amd64.zip build/windows_amd64/${NAME}

deploy-local:
@mkdir -p ~/.terraform.d/plugins
@cp terraform-provider-pingaccess ~/.terraform.d/plugins/
@cp ${NAME} ~/.terraform.d/plugins/

func-init:
@rm -rf func-tests/.terraform
Expand Down
153 changes: 80 additions & 73 deletions func-tests/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -41,44 +41,44 @@ provider "pingaccess" {
// availability_profile_id = 1
// }

resource "pingaccess_site" "acc_test_site" {
name = "demo_site"
targets = ["localhost:1234"]
max_connections = -1
max_web_socket_connections = -1
availability_profile_id = 1
}
// resource "pingaccess_site" "acc_test_site" {
// name = "demo_site"
// targets = ["localhost:1234"]
// max_connections = -1
// max_web_socket_connections = -1
// availability_profile_id = 1
// }

resource "pingaccess_virtualhost" "acc_test_virtualhost" {
host = "demo-localhost"
port = 3000
agent_resource_cache_ttl = 900
key_pair_id = 0
trusted_certificate_group_id = 0
}
// resource "pingaccess_virtualhost" "acc_test_virtualhost" {
// host = "demo-localhost"
// port = 3000
// agent_resource_cache_ttl = 900
// key_pair_id = 0
// trusted_certificate_group_id = 0
// }

resource "pingaccess_application" "acc_test" {
// access_validator_id = 0
application_type = "Web"
agent_id = 0
name = "demo-app"
context_root = "/bar"
default_auth_type = "Web"
destination = "Site"
site_id = "${pingaccess_site.acc_test_site.id}"
virtual_host_ids = ["${pingaccess_virtualhost.acc_test_virtualhost.id}"]

// identity_mapping_ids {
// web = "${pingaccess_identity_mapping.idm_foo.id}"

// // api = 0
// }

// identity_mapping_ids {
// web = "65"
// }
// web_session_id = "${pingaccess_websession.demo_session.id}"
}
// resource "pingaccess_application" "acc_test" {
// // access_validator_id = 0
// application_type = "Web"
// agent_id = 0
// name = "demo-app"
// context_root = "/bar"
// default_auth_type = "Web"
// destination = "Site"
// site_id = "${pingaccess_site.acc_test_site.id}"
// virtual_host_ids = ["${pingaccess_virtualhost.acc_test_virtualhost.id}"]

// // identity_mapping_ids {
// // web = "${pingaccess_identity_mapping.idm_foo.id}"

// // // api = 0
// // }

// // identity_mapping_ids {
// // web = "65"
// // }
// // web_session_id = "${pingaccess_websession.demo_session.id}"
// }

// resource "pingaccess_identity_mapping" "idm_foo" {
// class_name = "com.pingidentity.pa.identitymappings.HeaderIdentityMapping"
Expand Down Expand Up @@ -179,55 +179,62 @@ resource "pingaccess_application" "acc_test" {
// }
// }

resource "pingaccess_trusted_certificate_group" "demo_tcg" {
name = "test"
cert_ids = [
pingaccess_certificate.demo_certificate.id
]
}

resource "pingaccess_certificate" "demo_certificate" {
alias = "cert1"
alias = "cert2"
file_data = "${base64encode(file("amazon_root_ca1.pem"))}"
}

data "pingaccess_certificate" "data_test" {
alias = "string"
}
// data "pingaccess_certificate" "data_test" {
// alias = "string"
// }

output "cert_id" {
value = "${data.pingaccess_certificate.data_test.id}"
}
// output "cert_id" {
// value = "${data.pingaccess_certificate.data_test.id}"
// }

output "cert_alias" {
value = "${data.pingaccess_certificate.data_test.alias}"
}
// output "cert_alias" {
// value = "${data.pingaccess_certificate.data_test.alias}"
// }

output "cert_expires" {
value = "${data.pingaccess_certificate.data_test.expires}"
}
// output "cert_expires" {
// value = "${data.pingaccess_certificate.data_test.expires}"
// }

output "cert_issuer_dn" {
value = "${data.pingaccess_certificate.data_test.issuer_dn}"
}
// output "cert_issuer_dn" {
// value = "${data.pingaccess_certificate.data_test.issuer_dn}"
// }

output "cert_md5sum" {
value = "${data.pingaccess_certificate.data_test.md5sum}"
}
// output "cert_md5sum" {
// value = "${data.pingaccess_certificate.data_test.md5sum}"
// }

output "cert_serial_number" {
value = "${data.pingaccess_certificate.data_test.serial_number}"
}
// output "cert_serial_number" {
// value = "${data.pingaccess_certificate.data_test.serial_number}"
// }

output "cert_sha1sum" {
value = "${data.pingaccess_certificate.data_test.sha1sum}"
}
// output "cert_sha1sum" {
// value = "${data.pingaccess_certificate.data_test.sha1sum}"
// }

output "cert_signature_algorithm" {
value = "${data.pingaccess_certificate.data_test.signature_algorithm}"
}
// output "cert_signature_algorithm" {
// value = "${data.pingaccess_certificate.data_test.signature_algorithm}"
// }

output "cert_status" {
value = "${data.pingaccess_certificate.data_test.status}"
}
// output "cert_status" {
// value = "${data.pingaccess_certificate.data_test.status}"
// }

output "cert_subject_dn" {
value = "${data.pingaccess_certificate.data_test.subject_dn}"
}
// output "cert_subject_dn" {
// value = "${data.pingaccess_certificate.data_test.subject_dn}"
// }

output "cert_valid_from" {
value = "${data.pingaccess_certificate.data_test.valid_from}"
}
// output "cert_valid_from" {
// value = "${data.pingaccess_certificate.data_test.valid_from}"
// }
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ module github.com/iwarapter/terraform-provider-pingaccess

go 1.12

replace git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999

require (
github.com/GeertJohan/go.rice v1.0.0 // indirect
github.com/Microsoft/go-winio v0.4.13 // indirect
Expand Down
1 change: 1 addition & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkK
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/antchfx/xpath v0.0.0-20190129040759-c8489ed3251e/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
github.com/antchfx/xquery v0.0.0-20180515051857-ad5b8c7a47b0/go.mod h1:LzD22aAzDP8/dyiCKFp31He4m2GPjl0AFyzDtZzUu9M=
github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
github.com/apparentlymart/go-cidr v1.0.0 h1:lGDvXx8Lv9QHjrAVP7jyzleG4F9+FkRhJcEsDFxeb8w=
github.com/apparentlymart/go-cidr v1.0.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
Expand Down
21 changes: 18 additions & 3 deletions pingaccess/provider_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,24 @@ func TestMain(m *testing.M) {
log.Fatalf("Could not connect to docker: %s", err)
}

options := &dockertest.RunOptions{
Repository: "pingidentity/pingaccess",
Tag: "5.2.2-edge",
devOpsUser, devOpsUserExists := os.LookupEnv("PING_IDENTITY_DEVOPS_USER")
devOpsKey, devOpsKeyExists := os.LookupEnv("PING_IDENTITY_DEVOPS_KEY")

var options *dockertest.RunOptions

if devOpsUserExists && devOpsKeyExists {
options = &dockertest.RunOptions{
Repository: "pingidentity/pingaccess",
Env: []string{fmt.Sprintf("PING_IDENTITY_DEVOPS_USER=%s", devOpsUser), fmt.Sprintf("PING_IDENTITY_DEVOPS_KEY=%s", devOpsKey)},
Tag: "5.2.2-edge",
}
} else {
dir, _ := os.Getwd()
options = &dockertest.RunOptions{
Repository: "pingidentity/pingaccess",
Mounts: []string{dir + "/pingaccess.lic:/opt/in/instance/conf/pingaccess.lic"},
Tag: "5.2.2-edge",
}
}

// pulls an image, creates a container based on it and runs it
Expand Down
29 changes: 2 additions & 27 deletions pingaccess/resource_pingaccess_application.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package pingaccess

import (
"encoding/json"
"fmt"
"log"
"strconv"
Expand Down Expand Up @@ -278,32 +277,8 @@ func resourcePingAccessApplicationReadData(d *schema.ResourceData) *pa.Applicati
}
}

if _, ok := d.GetOk(policy); ok {
policySet := d.Get(policy).([]interface{})

webPolicies := make([]*pa.PolicyItem, 0)
apiPolicies := make([]*pa.PolicyItem, 0)

policy := policySet[0].(map[string]interface{})
for _, pV := range policy["web"].(*schema.Set).List() {
p := pV.(map[string]interface{})
webPolicies = append(webPolicies, &pa.PolicyItem{
Id: json.Number(p["id"].(string)),
Type: String(p["type"].(string)),
})
}
for _, pV := range policy["api"].(*schema.Set).List() {
p := pV.(map[string]interface{})
apiPolicies = append(apiPolicies, &pa.PolicyItem{
Id: json.Number(p["id"].(string)),
Type: String(p["type"].(string)),
})
}
policies := map[string]*[]*pa.PolicyItem{
"Web": &webPolicies,
"API": &apiPolicies,
}
application.Policy = policies
if val, ok := d.GetOkExists("policy"); ok {
application.Policy = expandPolicy(val.([]interface{}))
}

return application
Expand Down
5 changes: 3 additions & 2 deletions pingaccess/resource_pingaccess_application_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ func resourcePingAccessApplicationResourceSchema() map[string]*schema.Schema {
},
pathPrefixes: &schema.Schema{
Type: schema.TypeSet,
Required: true,
Deprecated: "DEPRECATED - to be removed in a future release; please use 'path_patterns' instead",
Optional: true,
Deprecated: "To be removed in a future release; please use 'path_patterns' instead",
Elem: &schema.Schema{
Type: schema.TypeString,
},
Expand Down Expand Up @@ -309,6 +309,7 @@ func resourcePingAccessApplicationResourceReadData(d *schema.ResourceData) *pa.R

if val, ok := d.GetOkExists("policy"); ok {
resource.Policy = expandPolicy(val.([]interface{}))

}

return resource
Expand Down
2 changes: 2 additions & 0 deletions pingaccess/resource_pingaccess_application_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ resource "pingaccess_application_resource" "app_res_test_root_resource" {
"/*"
]
policy {}
audit_level = "ON"
anonymous = false
enabled = true
Expand Down
Loading

0 comments on commit 038c7a0

Please sign in to comment.