github.com/mcuadros/ascode@v1.3.1/starlark/types/testdata/terraform.star (about) 1 load("assert.star", "assert") 2 3 assert.eq(type(tf), "Terraform") 4 assert.ne(tf.version, "") 5 assert.eq("aws" in tf.provider, False) 6 7 # attr names 8 assert.eq("version" in dir(tf), True) 9 assert.eq("backend" in dir(tf), True) 10 assert.eq("provider" in dir(tf), True) 11 12 # provider 13 qux = tf.provider("aws", "2.13.0", "qux", region="qux") 14 bar = tf.provider("aws", "2.13.0", "bar", region="bar") 15 assert.eq(bar.region, "bar") 16 17 assert.eq(len(tf.provider["aws"]), 2) 18 assert.eq("foo" in tf.provider["aws"], False) 19 assert.eq(tf.provider["aws"]["bar"] == None, False) 20 assert.eq(tf.provider["aws"]["bar"], bar) 21 assert.eq(tf.provider["aws"]["bar"].region, "bar") 22 23 # type 24 assert.eq(type(tf.provider), "ProviderCollection") 25 26 # backend 27 assert.eq(tf.backend, None) 28 29 tf.backend = backend("local") 30 tf.backend.path = "foo" 31 assert.eq(str(tf.backend), "Backend<local>") 32 33 def backendWrongType(): tf.backend = "foo" 34 assert.fails(backendWrongType, "unexpected value string at backend") 35 assert.eq(str(tf.backend), "Backend<local>") 36 37 # pop provider 38 baz = tf.provider("aws", "2.13.0", "baz", region="baz") 39 pop = tf.provider["aws"].pop("baz") 40 41 # hcl 42 assert.eq(hcl(tf), "" + 43 'terraform {\n' + \ 44 ' backend "local" {\n' + \ 45 ' path = "foo"\n' + \ 46 ' }\n' + \ 47 '}\n' + \ 48 '\n' + \ 49 'provider "aws" {\n' + \ 50 ' alias = "qux"\n' + \ 51 ' version = "2.13.0"\n' + \ 52 ' region = "qux"\n' + \ 53 '}\n' + \ 54 '\n' + \ 55 'provider "aws" {\n' + \ 56 ' alias = "bar"\n' + \ 57 ' version = "2.13.0"\n' + \ 58 ' region = "bar"\n' + \ 59 '}\n\n')