ddelnano / terraform-provider-mikrotik

MIT License
128 stars 28 forks source link

codegen: generate client resource test and Terraform acceptance test #216

Closed maksym-nazarenko closed 7 months ago

maksym-nazarenko commented 10 months ago

This PR introduces templates and codegen binary CLI flags to generate resource test files.

The flow to generate all files would be:

  1. Generate MikroTik resource stub via downloading specs from remote RouterOS (#212)
  2. Adjust the generated file with proper struct field types and tags
  3. Generate client test with
    $ go run cmd/mikrotik-codegen/main.go mikrotik -src client/dns.go -test -name DnsRecord -dest client/dns_test.go
  4. Generate Terraform resource with
    $ go run cmd/mikrotik-codegen/main.go terraform -src client/dns.go -dest mikrotik/resource_dns_test.go
  5. Generate Terraform acceptance test
    $ go run cmd/mikrotik-codegen/main.go terraform -src client/dns.go -accTest -dest mikrotik/resource_dns_test.go