Sha256: c4d6349edaedcd03b30140dc7dcb8f0661bc100aad9734bfbb79ef817dbb9706

Contents?: true

Size: 1.7 KB

Versions: 104

Compression:

Stored size: 1.7 KB

Contents

describe Terraspace::Compiler::Dsl::Mod do
  let(:builder) { described_class.new(mod, path) }
  let(:mod)     { Terraspace::Mod.new("vpc") }

  context "vpc" do
    let(:path) { fixture("projects/ruby/aws/app/modules/vpc/main.rb") }
    it "evaluate" do
      result = builder.build
      json =<<~EOL.strip
        {
          "resource": {
            "aws_vpc": {
              "vpc": {
                "cidr_block": "${var.cidr_block}",
                "tags": {
                  "Name": "${var.name}"
                }
              }
            }
          }
        }
      EOL
      expect(result).to eq(json)
    end
  end

  context "security_group" do
    let(:path) { fixture("projects/ruby/aws/app/modules/security_group/main.rb") }
    it "adds null for required props" do
      result = builder.build
      json =<<~EOL.strip
        {
          "resource": {
            "aws_security_group": {
              "demo-sg": {
                "name": "${var.name}",
                "description": "Demo Security Group",
                "ingress": [
                  {
                    "description": "TLS from VPC",
                    "from_port": 443,
                    "to_port": 443,
                    "protocol": "tcp",
                    "cidr_blocks": [
                      "0.0.0.0/0"
                    ],
                    "ipv6_cidr_blocks": null,
                    "prefix_list_ids": null,
                    "security_groups": null,
                    "self": null
                  }
                ],
                "tags": {
                  "Name": "${var.name}"
                }
              }
            }
          }
        }
      EOL
      expect(result).to eq(json)
    end
  end
end

Version data entries

104 entries across 104 versions & 1 rubygems

Version Path
terraspace-2.2.17 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.16 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.15 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.14 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.13 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.12 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.11 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.10 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.9 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.8 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.7 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.6 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.5 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.4 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.3 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.2 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.1 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.2.0 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.1.7 spec/terraspace/compiler/dsl/resource_spec.rb
terraspace-2.1.6 spec/terraspace/compiler/dsl/resource_spec.rb