1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
package unit
import (
"context"
"testing"
"github.com/linode/linodego"
"github.com/stretchr/testify/assert"
)
func TestInstanceSnapshot_Get(t *testing.T) {
fixtureData, err := fixtures.GetFixture("instance_snapshot_get")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockGet("linode/instances/123/backups/1", fixtureData)
snapshot, err := base.Client.GetInstanceSnapshot(context.Background(), 123, 1)
assert.NoError(t, err)
assert.Equal(t, 1, snapshot.ID)
assert.Equal(t, "snapshot-1", snapshot.Label)
assert.Equal(t, linodego.SnapshotSuccessful, snapshot.Status)
assert.True(t, snapshot.Available)
assert.Len(t, snapshot.Configs, 2)
}
func TestInstanceSnapshot_Create(t *testing.T) {
fixtureData, err := fixtures.GetFixture("instance_snapshot_create")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockPost("linode/instances/123/backups", fixtureData)
snapshot, err := base.Client.CreateInstanceSnapshot(context.Background(), 123, "new-snapshot")
assert.NoError(t, err)
assert.Equal(t, "new-snapshot", snapshot.Label)
assert.Equal(t, linodego.SnapshotPending, snapshot.Status)
}
func TestInstanceBackups_Get(t *testing.T) {
fixtureData, err := fixtures.GetFixture("instance_backups_get")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockGet("linode/instances/123/backups", fixtureData)
backups, err := base.Client.GetInstanceBackups(context.Background(), 123)
assert.NoError(t, err)
assert.NotNil(t, backups)
assert.Len(t, backups.Automatic, 2)
assert.NotNil(t, backups.Snapshot)
assert.Equal(t, "auto-backup-1", backups.Automatic[0].Label)
}
func TestInstanceBackups_Enable(t *testing.T) {
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockPost("linode/instances/123/backups/enable", nil)
err := base.Client.EnableInstanceBackups(context.Background(), 123)
assert.NoError(t, err)
}
func TestInstanceBackups_Cancel(t *testing.T) {
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockPost("linode/instances/123/backups/cancel", nil)
err := base.Client.CancelInstanceBackups(context.Background(), 123)
assert.NoError(t, err)
}
func TestInstanceBackup_Restore(t *testing.T) {
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
restoreOptions := linodego.RestoreInstanceOptions{
LinodeID: 456,
Overwrite: true,
}
base.MockPost("linode/instances/123/backups/1/restore", nil)
err := base.Client.RestoreInstanceBackup(context.Background(), 123, 1, restoreOptions)
assert.NoError(t, err)
}
|