39 lines
953 B
Go
39 lines
953 B
Go
package docker
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
// TestIntegrationInfo dijalankan hanya bila docker socket tersedia —
|
|
// di CI runner tanpa socket, test di-skip otomatis.
|
|
func TestIntegrationInfo(t *testing.T) {
|
|
if _, err := os.Stat("/var/run/docker.sock"); err != nil {
|
|
t.Skip("docker socket tidak ada — skip tes integrasi")
|
|
}
|
|
c, err := New()
|
|
if err != nil {
|
|
t.Fatalf("New: %v", err)
|
|
}
|
|
defer c.Close()
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
defer cancel()
|
|
|
|
if err := c.Ping(ctx); err != nil {
|
|
t.Fatalf("Ping: %v", err)
|
|
}
|
|
info, err := c.Info(ctx)
|
|
if err != nil {
|
|
t.Fatalf("Info: %v", err)
|
|
}
|
|
if info.ServerVersion == "" {
|
|
t.Fatal("ServerVersion kosong")
|
|
}
|
|
t.Logf("engine %s (API %s) · %d/%d kontainer berjalan · %d image · %d CPU · %d MB RAM",
|
|
info.ServerVersion, info.APIVersion, info.Running, info.Containers,
|
|
info.Images, info.CPUs, info.MemoryTotal/1024/1024)
|
|
}
|