Skip to content

Commit

Permalink
test(api): add e2e snapshots test case
Browse files Browse the repository at this point in the history
Signed-off-by: Roman Sysoev <[email protected]>
  • Loading branch information
Roman Sysoev committed Dec 3, 2024
1 parent 98da864 commit 5e65383
Show file tree
Hide file tree
Showing 27 changed files with 815 additions and 19 deletions.
1 change: 1 addition & 0 deletions tests/e2e/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ type TestData struct {
VmLabelAnnotation string `yaml:"vmLabelAnnotation"`
VmMigration string `yaml:"vmMigration"`
VmDiskAttachment string `yaml:"vmDiskAttachment"`
Snapshots string `yaml:"snapshots"`
Sshkey string `yaml:"sshKey"`
SshUser string `yaml:"sshUser"`
}
Expand Down
1 change: 1 addition & 0 deletions tests/e2e/default_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ testData:
vmLabelAnnotation: "/tmp/testdata/vm-label-annotation"
vmMigration: "/tmp/testdata/vm-migration"
vmDiskAttachment: "/tmp/testdata/vm-disk-attachment"
snapshots: "/tmp/testdata/snapshots"
sshKey: "/tmp/testdata/sshkeys/id_ed"
sshUser: "cloud"
2 changes: 2 additions & 0 deletions tests/e2e/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ module github.com/deckhouse/virtualization/tests/e2e
go 1.22.7

require (
github.com/deckhouse/sds-replicated-volume/api v0.0.0-20241109122839-a1ae840eb5db
github.com/deckhouse/virtualization/api v0.0.0-20240923080356-bb5809dba578
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.0.0
github.com/onsi/ginkgo/v2 v2.20.0
github.com/onsi/gomega v1.34.1
gopkg.in/yaml.v3 v3.0.1
Expand Down
4 changes: 4 additions & 0 deletions tests/e2e/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/deckhouse/sds-replicated-volume/api v0.0.0-20241109122839-a1ae840eb5db h1:ArXEN2TeIX+cX4DUGUtHpRhkJpSzzk80PNqY4PGxNi0=
github.com/deckhouse/sds-replicated-volume/api v0.0.0-20241109122839-a1ae840eb5db/go.mod h1:6yz0RtbkLVJtK2DeuvgfaqBZRl5V5ax1WsfPF5pbnvo=
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
Expand Down Expand Up @@ -119,6 +121,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.0.0 h1:mjQG0Vakr2h246kEDR85U8y8ZhPgT3bguTCajRa/jaw=
github.com/kubernetes-csi/external-snapshotter/client/v8 v8.0.0/go.mod h1:E3vdYxHj2C2q6qo8/Da4g7P+IcwqRZyy3gJBzYybV9Y=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
Expand Down
14 changes: 14 additions & 0 deletions tests/e2e/helper/helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,17 @@ func WriteYamlObject(filePath string, obj client.Object) error {

return nil
}

func UnmarshalResource(filePath string, obj client.Object) error {
file, err := os.ReadFile(filePath)
if err != nil {
return err
}

err = yaml.Unmarshal(file, obj)
if err != nil {
return err
}

return nil
}
38 changes: 21 additions & 17 deletions tests/e2e/kubectl/resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,25 @@ limitations under the License.
package kubectl

const (
ResourceNode Resource = "node"
ResourceNamespace Resource = "namespace"
ResourcePod Resource = "pod"
ResourceService Resource = "service"
ResourceStorageClass Resource = "storageclasses.storage.k8s.io"
ResourceKubevirtVM Resource = "internalvirtualizationvirtualmachines.internal.virtualization.deckhouse.io"
ResourceKubevirtVMI Resource = "internalvirtualizationvirtualmachineinstances.internal.virtualization.deckhouse.io"
ResourceKubevirtVMIM Resource = "internalvirtualizationvirtualmachineinstancemigrations.internal.virtualization.deckhouse.io"
ResourceModuleConfig Resource = "moduleconfigs.deckhouse.io"
ResourceVD Resource = "virtualdisks.virtualization.deckhouse.io"
ResourceVM Resource = "virtualmachine.virtualization.deckhouse.io"
ResourceVMClass Resource = "virtualmachineclasses.virtualization.deckhouse.io"
ResourceVMIP Resource = "virtualmachineipaddresses.virtualization.deckhouse.io"
ResourceVMIPLease Resource = "virtualmachineipaddressleases.virtualization.deckhouse.io"
ResourceCVI Resource = "clustervirtualimages.virtualization.deckhouse.io"
ResourceVI Resource = "virtualimages.virtualization.deckhouse.io"
ResourceVMBDA Resource = "virtualmachineblockdeviceattachments.virtualization.deckhouse.io"
ResourceNode Resource = "node"
ResourceNamespace Resource = "namespace"
ResourcePod Resource = "pod"
ResourceService Resource = "service"
ResourceStorageClass Resource = "storageclasses.storage.k8s.io"
ResourceVolumeSnapshotClass Resource = "volumesnapshotclasses.snapshot.storage.k8s.io"
ResourceReplicatedStorageClass Resource = "replicatedstorageclasses.storage.deckhouse.io"
ResourceReplicatedStoragePool Resource = "replicatedstoragepools.storage.deckhouse.io"
ResourceKubevirtVM Resource = "internalvirtualizationvirtualmachines.internal.virtualization.deckhouse.io"
ResourceKubevirtVMI Resource = "internalvirtualizationvirtualmachineinstances.internal.virtualization.deckhouse.io"
ResourceKubevirtVMIM Resource = "internalvirtualizationvirtualmachineinstancemigrations.internal.virtualization.deckhouse.io"
ResourceModuleConfig Resource = "moduleconfigs.deckhouse.io"
ResourceVD Resource = "virtualdisks.virtualization.deckhouse.io"
ResourceVDSnapshot Resource = "virtualdisksnapshots.virtualization.deckhouse.io"
ResourceVM Resource = "virtualmachine.virtualization.deckhouse.io"
ResourceVMClass Resource = "virtualmachineclasses.virtualization.deckhouse.io"
ResourceVMIP Resource = "virtualmachineipaddresses.virtualization.deckhouse.io"
ResourceVMIPLease Resource = "virtualmachineipaddressleases.virtualization.deckhouse.io"
ResourceCVI Resource = "clustervirtualimages.virtualization.deckhouse.io"
ResourceVI Resource = "virtualimages.virtualization.deckhouse.io"
ResourceVMBDA Resource = "virtualmachineblockdeviceattachments.virtualization.deckhouse.io"
)
Loading

0 comments on commit 5e65383

Please sign in to comment.