作者:alexsac
项目:linod
func TestAvailLinodePlansIntegration(t *testing.T) {
c := NewClient(apiKey)
plans, err := c.AvailLinodePlans(nil)
require.NoError(t, err)
require.NotEmpty(t, plans)
testPlanNotEmpty(t, plans)
// Spot check
plans, err = c.AvailLinodePlans(Int(1))
require.NoError(t, err)
require.Len(t, plans, 1)
p := plans[0]
assert.Equal(t, 1, p.Cores)
assert.Equal(t, 10.00, p.Price)
assert.Equal(t, 1024, p.RAM)
assert.Equal(t, 2000, p.Xfer)
assert.Equal(t, 1, p.ID)
assert.Equal(t, "Linode 1024", p.Label)
assert.Equal(t, 24, p.Disk)
assert.Equal(t, 0.015, p.Hourly)
plans, err = c.AvailLinodePlans(Int(3498230))
require.NoError(t, err)
require.Empty(t, plans)
}
作者:alexsac
项目:linod
func TestAvailKernelsOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockAvailKernelsOK()))
defer ts.Close()
kerns, err := c.AvailKernels(nil, nil)
require.NoError(t, err)
require.Len(t, kerns, 135)
var sample Kernel
var everXen bool
var everPVOps bool
for _, k := range kerns {
if k.IsXen {
everXen = true
}
if k.IsPVOps {
everPVOps = true
}
assert.NotEmpty(t, k.Label, "k.Label")
assert.NotEmpty(t, k.ID, "k.ID")
if k.ID == 138 {
sample = k
}
}
assert.True(t, everXen, "everXen")
assert.True(t, everPVOps, "everPVOps")
assert.Equal(t, "Latest 64 bit (4.1.0-x86_64-linode59)", sample.Label, "sample.Label")
assert.True(t, sample.IsXen, "sample.IsXen")
assert.True(t, sample.IsPVOps, "sample.IsPVOps")
assert.Equal(t, 138, sample.ID, "sample.ID")
}
作者:alexsac
项目:linod
func TestNodeBalancerConfigListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockNodeBalancerConfigListOK()))
defer ts.Close()
nbconfs, err := c.NodeBalancerConfigList(13128, Int(14591))
require.NoError(t, err)
require.Len(t, nbconfs, 1)
nbc := nbconfs[0]
assert.Equal(t, "http_cookie", nbc.Stickiness)
assert.Equal(t, "", nbc.SSLCommonName)
assert.Equal(t, "/foo", nbc.CheckPath)
assert.Equal(t, "bar", nbc.CheckBody)
assert.Equal(t, 30, nbc.CheckInterval)
assert.Equal(t, "", nbc.SSLFingerprint)
assert.Equal(t, "roundrobin", nbc.Algorithm)
assert.Equal(t, 14591, nbc.ID)
assert.Equal(t, 15, nbc.CheckAttempts)
assert.Equal(t, 13128, nbc.NodeBalancerID)
assert.Equal(t, 80, nbc.Port)
assert.Equal(t, "http", nbc.Check)
assert.False(t, nbc.CheckPassive)
assert.Equal(t, "http", nbc.Protocol)
assert.Equal(t, 29, nbc.CheckTimeout)
}
作者:alexsac
项目:linod
func TestLinodeConfigList(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockLinodeConfigListOK()))
defer ts.Close()
confs, err := c.LinodeConfigList(1139016, Int(1855685))
require.NoError(t, err)
require.Len(t, confs, 1)
cfg := confs[0]
assert.Equal(t, "bar", cfg.RootDeviceCustom)
assert.Equal(t, "foo", cfg.Comments)
assert.Equal(t, "test-conf1", cfg.Label)
assert.Equal(t, 1855685, cfg.ID)
assert.Equal(t, "3569234,3569220,,,,,,,", cfg.DiskList)
assert.Equal(t, "default", cfg.RunLevel)
assert.Equal(t, 1, cfg.RootDeviceNum)
assert.Equal(t, 800, cfg.RAMLimit)
assert.Equal(t, "paravirt", cfg.VirtMode)
assert.Equal(t, 1139016, cfg.LinodeID)
assert.Equal(t, 138, cfg.KernelID)
assert.True(t, cfg.DevTmpFSAutomount)
assert.True(t, cfg.HelperDistro)
assert.True(t, cfg.HelperDisableUpdateDB)
assert.True(t, cfg.HelperDepmod)
assert.True(t, cfg.HelperXen)
assert.True(t, cfg.RootDeviceRO)
assert.True(t, cfg.HelperNetwork)
assert.True(t, cfg.IsRescue)
}
作者:alexsac
项目:linod
func TestStackScriptIntegration(t *testing.T) {
c := NewClient(apiKey)
ssID, err := c.StackScriptCreate("test", "130,", "#! /bin/bash foo", String("foo"),
Bool(false), String("bar"))
require.NoError(t, err)
require.NotEmpty(t, ssID)
ssList, err := c.StackScriptList(Int(ssID))
require.NoError(t, err)
require.Len(t, ssList, 1)
ss := ssList[0]
assert.Equal(t, "bar", ss.RevNote)
assert.Equal(t, "#! /bin/bash foo", ss.Script)
assert.Equal(t, "130,", ss.DistIDList)
assert.Equal(t, "foo", ss.Description)
assert.NotEmpty(t, ss.RevDT)
assert.Equal(t, "test", ss.Label)
assert.Equal(t, 0, ss.TotalDeploys)
assert.NotEmpty(t, ss.LatestRev)
assert.Equal(t, ssID, ss.ID)
assert.False(t, ss.IsPublic)
assert.Equal(t, 0, ss.ActiveDeploys)
assert.NotEmpty(t, ss.CreateDT)
assert.NotEmpty(t, ss.UserID)
err = c.StackScriptUpdate(ssID, String("test-2"), String("quux"), String("129,130"), Bool(true),
String("baz"), String("#! /bin/bash baz"))
require.NoError(t, err)
ssList, err = c.StackScriptList(Int(ssID))
require.NoError(t, err)
require.Len(t, ssList, 1)
ss = ssList[0]
assert.Equal(t, "baz", ss.RevNote)
assert.Equal(t, "#! /bin/bash baz", ss.Script)
assert.Equal(t, "129,130", ss.DistIDList)
assert.Equal(t, "quux", ss.Description)
assert.Equal(t, "test-2", ss.Label)
assert.Equal(t, ssID, ss.ID)
assert.True(t, ss.IsPublic)
err = c.StackScriptDelete(ssID)
require.NoError(t, err)
}
作者:alexsac
项目:linod
func TestImageListPendingOnlyOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockImageListPendingOnlyOK()))
defer ts.Close()
imgs, err := c.ImageList(Int(402716), Bool(true))
require.NoError(t, err)
require.Len(t, imgs, 0)
}
作者:alexsac
项目:linod
func TestAvailKernelsEmpty(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockAvailKernelsEmpty()))
defer ts.Close()
kerns, err := c.AvailKernels(Int(4389048234), Bool(false))
require.NoError(t, err)
require.Len(t, kerns, 0)
}
作者:alexsac
项目:linod
func TestAvailLinodePlansEmpty(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockAvailLinodePlansEmpty()))
defer ts.Close()
plans, err := c.AvailLinodePlans(Int(3498230))
require.NoError(t, err)
require.Len(t, plans, 0)
}
作者:alexsac
项目:linod
func TestAvailKernelsSingle(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockAvailKernelsSingle()))
defer ts.Close()
kerns, err := c.AvailKernels(Int(138), Bool(true))
require.NoError(t, err)
require.Len(t, kerns, 1)
k := kerns[0]
assert.Equal(t, "Latest 64 bit (4.1.0-x86_64-linode59)", k.Label, "k.Label")
assert.True(t, k.IsXen, "k.IsXen")
assert.True(t, k.IsPVOps, "k.IsPVOps")
assert.Equal(t, 138, k.ID, "k.ID")
}
作者:alexsac
项目:linod
func TestLinodeIPListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockLinodeIPListOK()))
defer ts.Close()
IPList, err := c.LinodeIPList(Int(1146420), Int(1))
require.NoError(t, err)
require.Len(t, IPList, 1)
IP := IPList[0]
assert.Equal(t, 296963, IP.ID)
assert.Equal(t, "li959-147.members.linode.com", IP.RDNSName)
assert.Equal(t, 1146420, IP.LinodeID)
assert.True(t, IP.IsPublic)
assert.Equal(t, "45.33.5.147", IP.Address)
}
作者:alexsac
项目:linod
func TestAvailDistributionsSingle(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockAvailDistributionsSingle()))
defer ts.Close()
dists, err := c.AvailDistributions(Int(130))
require.NoError(t, err)
require.Len(t, dists, 1)
d := dists[0]
assert.Equal(t, true, d.RequiresPVOps, "d.RequiresPVOps")
assert.Equal(t, 130, d.ID, "d.ID")
assert.Equal(t, true, d.Is64Bit, "d.Is64Bit")
assert.Equal(t, "Debian 7", d.Label, "d.Label")
assert.Equal(t, 600, d.MinImageSize, "d.MinImageSize")
assert.Equal(t, "2014-09-24 13:59:32.0", d.CreateDT, "d.CreateDT")
}
作者:alexsac
项目:linod
func TestNodeBalancerListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockNodeBalancerListOK()))
defer ts.Close()
nbList, err := c.NodeBalancerList(Int(13128))
require.NoError(t, err)
require.Len(t, nbList, 1)
n := nbList[0]
assert.Equal(t, "nb-198-58-121-23.dallas.nodebalancer.linode.com", n.Hostname)
assert.Equal(t, "testing", n.Label)
assert.Equal(t, 5, n.Throttle)
assert.Equal(t, 2, n.DatacenterID)
assert.Equal(t, "198.58.121.23", n.IPv4Addr)
assert.Equal(t, "2600:3c00:1::c63a:7917", n.IPv6Addr)
assert.Equal(t, 13128, n.ID)
}
作者:alexsac
项目:linod
func TestNodeBalancerNodeListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockNodeBalancerNodeListOK()))
defer ts.Close()
nbNodes, err := c.NodeBalancerNodeList(14591, Int(140574))
require.NoError(t, err)
require.Len(t, nbNodes, 1)
node := nbNodes[0]
assert.Equal(t, 50, node.Weight)
assert.Equal(t, "192.168.202.68:90", node.Address)
assert.Equal(t, "test", node.Label)
assert.Equal(t, 140574, node.ID)
assert.Equal(t, "accept", node.Mode)
assert.Equal(t, 14591, node.ConfigID)
assert.Equal(t, "Unknown", node.Status)
assert.Equal(t, 13128, node.NodeBalancerID)
}
作者:alexsac
项目:linod
func TestAvailLinodePlansSingle(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockAvailLinodePlansSingle()))
defer ts.Close()
plans, err := c.AvailLinodePlans(Int(1))
require.NoError(t, err)
require.Len(t, plans, 1)
p := plans[0]
assert.Equal(t, 1, p.Cores)
assert.Equal(t, 10.00, p.Price)
assert.Equal(t, 1024, p.RAM)
assert.Equal(t, 2000, p.Xfer)
assert.Equal(t, 1, p.ID)
assert.Equal(t, "Linode 1024", p.Label)
assert.Equal(t, 24, p.Disk)
assert.Equal(t, 0.015, p.Hourly)
}
作者:alexsac
项目:linod
func TestDomainResourceListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockDomainResourceListOK()))
defer ts.Close()
resources, err := c.DomainResourceList(716074, Int(5337468))
require.NoError(t, err)
require.Len(t, resources, 1)
r := resources[0]
assert.Equal(t, 716074, r.DomainID)
assert.Equal(t, 15, r.Port)
assert.Equal(t, 5337468, r.ID)
assert.Equal(t, "_foo._tcp", r.Name)
assert.Equal(t, 10, r.Weight)
assert.Equal(t, 300, r.TTLSec)
assert.Equal(t, "bar.baz.com", r.Target)
assert.Equal(t, 5, r.Priority)
assert.Equal(t, "tcp", r.Protocol)
assert.Equal(t, "srv", r.Type)
}
作者:alexsac
项目:linod
func TestImageListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockImageListOK()))
defer ts.Close()
imgs, err := c.ImageList(Int(402716), Bool(false))
require.NoError(t, err)
require.Len(t, imgs, 1)
i := imgs[0]
assert.Equal(t, "baz", i.LastUsedDT)
assert.Equal(t, 600, i.MinSize)
assert.Equal(t, "foo", i.Description)
assert.Equal(t, "bar", i.Label)
assert.Equal(t, "quux", i.Creator)
assert.Equal(t, "available", i.Status)
assert.True(t, i.IsPublic)
assert.Equal(t, "2015-07-07 23:55:59.0", i.CreateDT)
assert.Equal(t, "manual", i.Type)
assert.Equal(t, "ext4", i.FSType)
assert.Equal(t, 402716, i.ID)
}
作者:alexsac
项目:linod
func TestStackScriptListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockStackScriptListOK()))
defer ts.Close()
ssList, err := c.StackScriptList(Int(12567))
require.NoError(t, err)
require.Len(t, ssList, 1)
ss := ssList[0]
assert.Equal(t, "bar", ss.RevNote)
assert.Equal(t, "#! /bin/bash foo", ss.Script)
assert.Equal(t, "130,", ss.DistIDList)
assert.Equal(t, "2015-07-08 23:46:50.0", ss.RevDT)
assert.Equal(t, "test", ss.Label)
assert.Equal(t, 1, ss.TotalDeploys)
assert.Equal(t, 60999, ss.LatestRev)
assert.Equal(t, 12567, ss.ID)
assert.True(t, ss.IsPublic)
assert.Equal(t, 2, ss.ActiveDeploys)
assert.Equal(t, "2015-07-08 23:46:50.0", ss.CreateDT)
assert.Equal(t, 1337, ss.UserID)
}
作者:alexsac
项目:linod
func TestAvailKernelsIntegration(t *testing.T) {
c := NewClient(apiKey)
kerns, err := c.AvailKernels(nil, nil)
require.NoError(t, err)
require.NotEmpty(t, kerns)
var everXen bool
var everPVOps bool
for _, k := range kerns {
if k.IsXen {
everXen = true
}
if k.IsPVOps {
everPVOps = true
}
assert.NotEmpty(t, k.Label, "k.Label")
assert.NotEmpty(t, k.ID, "k.ID")
}
assert.True(t, everXen, "everXen")
assert.True(t, everPVOps, "everPVOps")
kerns, err = c.AvailKernels(Int(138), Bool(true))
require.NoError(t, err)
require.Len(t, kerns, 1)
k := kerns[0]
assert.True(t, k.IsXen)
assert.True(t, k.IsPVOps)
assert.NotEmpty(t, k.ID)
assert.NotEmpty(t, k.Label)
kerns, err = c.AvailKernels(Int(4389048234), Bool(false))
require.NoError(t, err)
require.Empty(t, kerns)
}
作者:alexsac
项目:linod
func TestAvailStackScriptsOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockAvailStackScriptsOK()))
defer ts.Close()
scripts, err := c.AvailStackScripts(Int(1), String("bar"), String("baz"))
require.NoError(t, err)
require.Len(t, scripts, 1)
s := scripts[0]
assert.Equal(t, "Professional Services", s.RevNote)
assert.Contains(t, s.Script, "#!/bin/bash")
assert.Equal(t, "127", s.DistIDList)
assert.Contains(t, s.Description, "cPanel takes an hour to install.")
assert.Equal(t, "2015-01-07 15:48:57.0", s.RevDT)
assert.Equal(t, "cPanel", s.Label)
assert.Equal(t, 207, s.TotalDeploys)
assert.Equal(t, 53081, s.LatestRev)
assert.Equal(t, 11078, s.ID)
assert.True(t, s.IsPublic)
assert.Equal(t, 125, s.ActiveDeploys)
assert.Equal(t, "2015-01-07 15:48:57.0", s.CreateDT)
assert.Equal(t, 307510, s.UserID)
}
作者:alexsac
项目:linod
func TestDomainListOK(t *testing.T) {
c, ts := clientFor(newMockAPIServer(t, mockDomainListOK()))
defer ts.Close()
domains, err := c.DomainList(Int(716074))
require.NoError(t, err)
require.Len(t, domains, 1)
d := domains[0]
assert.Equal(t, 716074, d.ID)
assert.Equal(t, "foo", d.Description)
assert.Equal(t, 300, d.ExpireSec)
assert.Equal(t, 300, d.RetrySec)
assert.Equal(t, 1, d.Status)
assert.Equal(t, "test", d.DisplayGroup)
assert.Equal(t, "1;2;3;", d.MasterIPs)
assert.Equal(t, 300, d.RefreshSec)
assert.Equal(t, "[email protected]", d.SOAEmail)
assert.Equal(t, 300, d.TTLSec)
assert.Equal(t, "foo.com", d.Domain)
assert.Equal(t, "master", d.Type)
assert.Equal(t, "", d.AXFRIPs)
}