Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix acc tests #118

Merged
merged 3 commits into from
May 2, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 29 additions & 16 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
dist: trusty
sudo: required
services:
- docker
language: go
go:
- "1.11.x"
env:
- GOFLAGS=-mod=vendor GO111MODULE=on GITLAB_BASE_URL=http://127.0.0.1:8080/api/v4 GITLAB_TOKEN=ACCTEST
matrix:
fast_finish: false
include:
- name: unit tests
env: MAKE_TARGET=test GOFLAGS=-mod=vendor GO111MODULE=on
go: "1.11.x"
- name: acceptance tests
env: MAKE_TARGET=testacc GOFLAGS=-mod=vendor GO111MODULE=on GITLAB_BASE_URL=http://127.0.0.1:8080/api/v4 GITLAB_TOKEN=ACCTEST
go: "1.11.x"
- name: govet tests
env: MAKE_TARGET=vet GOFLAGS=-mod=vendor GO111MODULE=on
go: "1.11.x"
- name: website tests
env: MAKE_TARGET=website-test GOFLAGS=-mod=vendor GO111MODULE=on
go: "1.11.x"
- name: unit tests (go 1.12)
env: MAKE_TARGET=test GOFLAGS=-mod=vendor GO111MODULE=on
go: "1.12.x"
- name: unit tests (go tip)
env: MAKE_TARGET=test GOFLAGS=-mod=vendor GO111MODULE=on
go: tip
allow_failures:
- name: unit tests (go tip)
env: MAKE_TARGET=test GOFLAGS=-mod=vendor GO111MODULE=on
go: tip
- name: unit tests (go 1.12)
env: MAKE_TARGET=test GOFLAGS=-mod=vendor GO111MODULE=on
go: "1.12.x"

install:
# This script is used by the Travis build to install a cookie for
Expand All @@ -17,15 +37,8 @@ install:
- bash scripts/start-gitlab.sh

script:
- make test
- make testacc
- make vet
- make website-test
- make $MAKE_TARGET

branches:
only:
- master
matrix:
fast_finish: true
allow_failures:
- go: tip
41 changes: 36 additions & 5 deletions gitlab/resource_gitlab_project_cluster_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ func TestAccGitlabProjectCluster_basic(t *testing.T) {
Name: fmt.Sprintf("foo-cluster-%d", rInt),
EnvironmentScope: "*",
KubernetesApiURL: "https://123.123.123",
KubernetesCACert: projectClusterFakeCert,
KubernetesAuthorizationType: "abac",
}),
),
Expand All @@ -41,7 +42,7 @@ func TestAccGitlabProjectCluster_basic(t *testing.T) {
Name: fmt.Sprintf("foo-cluster-%d", rInt),
EnvironmentScope: "*",
KubernetesApiURL: "https://124.124.124",
KubernetesCACert: "some-cert",
KubernetesCACert: projectClusterFakeCert,
KubernetesNamespace: "changed-namespace",
KubernetesAuthorizationType: "abac",
}),
Expand All @@ -56,7 +57,7 @@ func TestAccGitlabProjectCluster_basic(t *testing.T) {
Name: fmt.Sprintf("foo-cluster-%d", rInt),
EnvironmentScope: "*",
KubernetesApiURL: "https://124.124.124",
KubernetesCACert: "some-cert",
KubernetesCACert: projectClusterFakeCert,
KubernetesNamespace: "changed-namespace",
KubernetesAuthorizationType: "rbac",
}),
Expand Down Expand Up @@ -180,6 +181,12 @@ func testAccCheckGitlabProjectClusterAttributes(cluster *gitlab.ProjectCluster,

func testAccGitlabProjectClusterConfig(rInt int) string {
return fmt.Sprintf(`
variable "cert" {
default = <<EOF
%s
EOF
}

resource "gitlab_project" "foo" {
name = "foo-project-%d"
description = "Terraform acceptance tests"
Expand All @@ -194,13 +201,20 @@ resource gitlab_project_cluster "foo" {
name = "foo-cluster-%d"
kubernetes_api_url = "https://123.123.123"
kubernetes_token = "some-token"
kubernetes_ca_cert = "${trimspace(var.cert)}"
kubernetes_authorization_type = "abac"
}
`, rInt, rInt)
`, projectClusterFakeCert, rInt, rInt)
}

func testAccGitlabProjectClusterUpdateConfig(rInt int, authType string) string {
return fmt.Sprintf(`
variable "cert" {
default = <<EOF
%s
EOF
}

resource "gitlab_project" "foo" {
name = "foo-project-%d"
description = "Terraform acceptance tests"
Expand All @@ -215,9 +229,26 @@ resource gitlab_project_cluster "foo" {
name = "foo-cluster-%d"
kubernetes_api_url = "https://124.124.124"
kubernetes_token = "some-token"
kubernetes_ca_cert = "some-cert"
kubernetes_ca_cert = "${trimspace(var.cert)}"
kubernetes_namespace = "changed-namespace"
kubernetes_authorization_type = "%s"
}
`, rInt, rInt, authType)
`, projectClusterFakeCert, rInt, rInt, authType)
}

var projectClusterFakeCert = `-----BEGIN CERTIFICATE-----
MIICljCCAX4CCQDV7q2baHBlJjANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJV
SzAeFw0xOTAzMjUxMTUxNTZaFw0xOTA0MjQxMTUxNTZaMA0xCzAJBgNVBAYTAlVL
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+bJAnlcGVMXjGdGcPFYf
aAyAlJLdef22vmjFQUgUw8HvblpUrkHYjVxdvVvg5tNFGLvnCIBRITJ6CQfl3f2i
ZL+SJCNZEWILt5TQTRQG09uab6An+ztm/XLJyHHUp0cEeI+aYifTuykB+cAxOLoA
+tWPq6i07Er+f/UcpntMxNi3b3LVpvdB5tcRvN6F2aXblLR3O7gvrmI4XA1u0Wba
LwDRgbS5bLy/AkrrZm7XMuy4zlbWEAMI3tgRInS+ENYKPuY0Hl3cxJBsI5EQ+mFx
aran+jYp7QQO/7VnrzRH7ZblWhcVKW9QoDFl78ZpT1sAwRif2ZFqMhw0sGiptLFb
AwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCgVxkvDwQPtpmx0WNriKsr5WeMvb6r
5DRhLOyyA7HncayAFCvAhk5M+x2wxWuuKzOPKsjSJpZDU0+2alVhZzzWbxSKoX7y
oW8+2ioodyfrW5vCPLEMfyqg2VGh+0F8PadVL96GZL20WYxCJ3eCuM7NFXG2ZciB
GJ48/0Tdc593QHg+19Jitq0xEL6V1dq5C5qhQxrikG3e3a+YYEZNCGwMj+2MhY2J
Up9FUfSTZR1MzQFi/7Dr2zffyuzFZk7IXrvA0foBe0GKPtiWQJ0/JHqkZfbfAEYw
c3fx6O/MhKijdlkbcpOanqD7PQEfUymTFLp2fZu2a1GRKIbfabGyyxGy
-----END CERTIFICATE-----`
3 changes: 3 additions & 0 deletions scripts/generate-access-token.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
terraform_token = PersonalAccessToken.create(user_id: 1, scopes: [:api, :read_user], name: :terraform)
terraform_token.set_token(:ACCTEST)
terraform_token.save!
3 changes: 2 additions & 1 deletion scripts/start-gitlab.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/bash -e
if [[ $MAKE_TARGET != "testacc" ]]; then echo "not starting gitlab!"; exit 0; fi
echo "Starting gitlab container..."
docker run -d -e GITLAB_ROOT_PASSWORD=adminadmin --rm -p 127.0.0.1:8080:80 --name gitlab gitlab/gitlab-ce
echo -n "Waiting for gitlab to be ready "
Expand All @@ -12,4 +13,4 @@ do
done
echo
echo "Creating access token"
echo 'PersonalAccessToken.create(user_id: 1, scopes: [:api, :read_user], name: :terraform, token: :ACCTEST).save!' | docker exec -i gitlab gitlab-rails console
docker exec -i gitlab gitlab-rails console < scripts/generate-access-token.rb