1006 test implementation

Signed-off-by: Guillaume de Rouville <guillaume.derouville@gmail.com>
This commit is contained in:
Guillaume de Rouville 2021-08-13 03:01:13 +02:00
parent 82d45985a5
commit 6744045ce7
5 changed files with 95 additions and 40 deletions

View File

@ -43,46 +43,7 @@ mkdir gcpcloudrun
### Create a basic plan
```cue title="todoapp/gcpcloudrun/source.cue"
package gcpcloudrun
import (
"alpha.dagger.io/dagger"
"alpha.dagger.io/docker"
"alpha.dagger.io/gcp"
"alpha.dagger.io/gcp/cloudrun"
"alpha.dagger.io/gcp/gcr"
)
// Source code of the sample application
src: dagger.#Artifact & dagger.#Input
// GCR full image name
imageRef: string & dagger.#Input
image: docker.#Build & {
source: src
}
gcpConfig: gcp.#Config
creds: gcr.#Credentials & {
config: gcpConfig
}
push: docker.#Push & {
target: imageRef
source: image
auth: {
username: creds.username
secret: creds.secret
}
}
deploy: cloudrun.#Service & {
config: gcpConfig
image: push.ref
}
```cue file=./tests/gcpcloudrun/source.cue title="todoapp/cue.mod/gcpcloudrun/source.cue"
```
## Set up the environment

View File

@ -0,0 +1,2 @@
# dagger state
state/**

View File

@ -0,0 +1,34 @@
plan:
package: ./gcpcloudrun
name: gcpcloudrun
inputs:
deploy.name:
text: test-cloudrun-doc
gcpConfig.project:
text: dagger-ci
gcpConfig.region:
text: us-west2
gcpConfig.serviceKey:
secret: ENC[AES256_GCM,data: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,iv:S4nRrhMHlBEq58i0WJS7CzFQELlCExSgA0NxTAP6ckw=,tag:Jt6C/CSNFcZAb1oqQP7h0A==,type:str]
imageRef:
text: gcr.io/dagger-ci/test-cloudrun-doc
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gxwmtwahzwdmrskhf90ppwlnze30lgpm056kuesrxzeuyclrwvpsupwtpk
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaTkF6bUFZVXZmQ1ZlV1cx
dDVEUnZiRVBOanlNb1lHVU9BdDVjV01QeDNvCjZmV1ZKckE2eVpYS0JHU0l4V0VW
NDdpVHloQjRWM01Kak81Z1dKZnB2UnMKLS0tIE1rZmo5YkFCUjZ5VVJXcmt0YlU1
bnhOalppZXdFbFArTndlWnU1TUZDOFkKY4irnpH33+GagucvGkVcEw1KKCJivlCW
rpLd+7EE5bXheiHFphtXTtkUIDCkbC4nTAJ1/37iEKrWsRRFv/CL/g==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2021-08-13T00:57:43Z"
mac: ENC[AES256_GCM,data:2Pk+6XFyPayexXsUFbDIXG/m6O7WkttraML4D0Y74XKsIjoq8gqNSAJrRmF+brw58j4F2h28PScp8t068byA97QIaWG8Q201vCJ6bpgMcZ4OEXRTLMuoZtpDLa9AoOT/rBaSIu7G5uA4oivVkfed90Nuq5+TGBSp/+me81679us=,iv:gUMpTjR0TwFonLed1fdegaRXtM4NghdZxVjGPJRdLSM=,tag:5SW7uAabLrrNx4h2Tf+9Ww==,type:str]
pgp: []
encrypted_suffix: secret
version: 3.7.1

View File

@ -59,3 +59,22 @@ setup() {
run curl $url
assert_output --partial "./static/css/main.9149988f.chunk.css"
}
@test "doc-1006-google-cloud-run" {
setup_example_sandbox "doc"
mkdir gcpcloudrun
cp $CODEBLOC_SRC/gcpcloudrun/source.cue gcpcloudrun
# Initialize new env
dagger new 'gcpcloudrun' -p gcpcloudrun
# Copy corresponding env
cp -r $CODEBLOC_SRC/.dagger/env/gcpcloudrun .dagger/env/
# Add missing src input
dagger -e gcpcloudrun input dir src .
# Run test
run dagger -e gcpcloudrun up
assert_success
}

View File

@ -0,0 +1,39 @@
package gcpcloudrun
import (
"alpha.dagger.io/dagger"
"alpha.dagger.io/docker"
"alpha.dagger.io/gcp"
"alpha.dagger.io/gcp/cloudrun"
"alpha.dagger.io/gcp/gcr"
)
// Source code of the sample application
src: dagger.#Artifact & dagger.#Input
// GCR full image name
imageRef: string & dagger.#Input
image: docker.#Build & {
source: src
}
gcpConfig: gcp.#Config
creds: gcr.#Credentials & {
config: gcpConfig
}
push: docker.#Push & {
target: imageRef
source: image
auth: {
username: creds.username
secret: creds.secret
}
}
deploy: cloudrun.#Service & {
config: gcpConfig
image: push.ref
}