mirror of https://github.com/status-im/migrate.git
Merge port mapping helper functions into one
This commit is contained in:
parent
c2925c40c7
commit
aebc0c3cdd
|
@ -166,7 +166,7 @@ func (d *DockerContainer) Logs() (io.ReadCloser, error) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DockerContainer) mappingForPort(cPort int) (containerPort uint, hostIP string, hostPort uint, err error) {
|
func (d *DockerContainer) portMapping(selectFirst bool, cPort int) (containerPort uint, hostIP string, hostPort uint, err error) {
|
||||||
if !d.containerInspected {
|
if !d.containerInspected {
|
||||||
if err := d.Inspect(); err != nil {
|
if err := d.Inspect(); err != nil {
|
||||||
d.t.Fatal(err)
|
d.t.Fatal(err)
|
||||||
|
@ -174,7 +174,7 @@ func (d *DockerContainer) mappingForPort(cPort int) (containerPort uint, hostIP
|
||||||
}
|
}
|
||||||
|
|
||||||
for port, bindings := range d.ContainerJSON.NetworkSettings.Ports {
|
for port, bindings := range d.ContainerJSON.NetworkSettings.Ports {
|
||||||
if port.Int() != cPort {
|
if !selectFirst && port.Int() != cPort {
|
||||||
// Skip ahead until we find the port we want
|
// Skip ahead until we find the port we want
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -189,32 +189,15 @@ func (d *DockerContainer) mappingForPort(cPort int) (containerPort uint, hostIP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0, "", 0, fmt.Errorf("specified port not bound")
|
if selectFirst {
|
||||||
}
|
return 0, "", 0, fmt.Errorf("no port binding")
|
||||||
|
} else {
|
||||||
func (d *DockerContainer) firstPortMapping() (containerPort uint, hostIP string, hostPort uint, err error) {
|
return 0, "", 0, fmt.Errorf("specified port not bound")
|
||||||
if !d.containerInspected {
|
|
||||||
if err := d.Inspect(); err != nil {
|
|
||||||
d.t.Fatal(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for port, bindings := range d.ContainerJSON.NetworkSettings.Ports {
|
|
||||||
for _, binding := range bindings {
|
|
||||||
|
|
||||||
hostPortUint, err := strconv.ParseUint(binding.HostPort, 10, 64)
|
|
||||||
if err != nil {
|
|
||||||
return 0, "", 0, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return uint(port.Int()), binding.HostIP, uint(hostPortUint), nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0, "", 0, fmt.Errorf("no port binding")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DockerContainer) Host() string {
|
func (d *DockerContainer) Host() string {
|
||||||
_, hostIP, _, err := d.firstPortMapping()
|
_, hostIP, _, err := d.portMapping(true, -1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
d.t.Fatal(err)
|
d.t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -227,7 +210,7 @@ func (d *DockerContainer) Host() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DockerContainer) Port() uint {
|
func (d *DockerContainer) Port() uint {
|
||||||
_, _, port, err := d.firstPortMapping()
|
_, _, port, err := d.portMapping(true, -1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
d.t.Fatal(err)
|
d.t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -235,7 +218,7 @@ func (d *DockerContainer) Port() uint {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DockerContainer) PortFor(cPort int) uint {
|
func (d *DockerContainer) PortFor(cPort int) uint {
|
||||||
_, _, port, err := d.mappingForPort(cPort)
|
_, _, port, err := d.portMapping(false, cPort)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
d.t.Fatal(err)
|
d.t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue