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')