containers_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package proxy
  2. import (
  3. "testing"
  4. "gotest.tools/assert"
  5. "github.com/docker/api/containers"
  6. "github.com/docker/api/formatter"
  7. containersv1 "github.com/docker/api/protos/containers/v1"
  8. )
  9. func TestGrpcContainerToContainerConfig(t *testing.T) {
  10. r := &containersv1.RunRequest{
  11. Id: "myId",
  12. Image: "myImage",
  13. Ports: []*containersv1.Port{
  14. {
  15. HostPort: 8080,
  16. ContainerPort: 80,
  17. Protocol: "tcp",
  18. HostIp: "42.42.42.42",
  19. },
  20. },
  21. Labels: map[string]string{
  22. "mykey": "mylabel",
  23. },
  24. Volumes: []string{
  25. "myvolume",
  26. },
  27. MemoryLimit: 41,
  28. CpuLimit: 42,
  29. }
  30. cc := grpcContainerToContainerConfig(r)
  31. assert.Equal(t, cc.ID, "myId")
  32. assert.Equal(t, cc.Image, "myImage")
  33. assert.Equal(t, cc.MemLimit, formatter.MemBytes(41))
  34. assert.Equal(t, cc.CPULimit, float64(42))
  35. assert.DeepEqual(t, cc.Volumes, []string{"myvolume"})
  36. assert.DeepEqual(t, cc.Ports, []containers.Port{
  37. {
  38. HostPort: uint32(8080),
  39. ContainerPort: 80,
  40. Protocol: "tcp",
  41. HostIP: "42.42.42.42",
  42. },
  43. })
  44. assert.DeepEqual(t, cc.Labels, map[string]string{
  45. "mykey": "mylabel",
  46. })
  47. }