inventory_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright 2019 Yunion
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. package ansiblev2
  15. import (
  16. "testing"
  17. )
  18. func TestInventory(t *testing.T) {
  19. inv := NewInventory(
  20. "ansible_user", "root",
  21. "ansible_become", "yes",
  22. "redis_bind_address", "0.0.0.0",
  23. "redis_bind_port", 9736,
  24. )
  25. inv.SetHost("redis", NewHost(
  26. "ansible_host", "192.168.0.248",
  27. "ansible_port", 2222,
  28. ))
  29. inv.SetHost("nameonly", NewHost())
  30. child := NewHostGroup()
  31. child.SetHost("aws-bj01", NewHost(
  32. "ansible_user", "ec2-user",
  33. "ansible_host", "1.2.2.3",
  34. ))
  35. child.SetHost("ali-hk01", NewHost(
  36. "ansible_user", "cloudroot",
  37. "ansible_host", "1.2.2.4",
  38. ))
  39. inv.SetChild("netmon-agents", child)
  40. t.Logf("\n%s", inv.String())
  41. }