mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-05-04 23:35:11 -04:00
AB#2639 Add functions to fetch k8s and helm version of Constellation (#637)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
This commit is contained in:
parent
c2ea937fb5
commit
67d0424f0e
7 changed files with 376 additions and 36 deletions
|
@ -24,13 +24,13 @@ import (
|
|||
func TestUpdateMeasurements(t *testing.T) {
|
||||
someErr := errors.New("error")
|
||||
testCases := map[string]struct {
|
||||
updater *stubMeasurementsUpdater
|
||||
updater *stubClientInterface
|
||||
newMeasurements measurements.M
|
||||
wantUpdate bool
|
||||
wantErr bool
|
||||
}{
|
||||
"success": {
|
||||
updater: &stubMeasurementsUpdater{
|
||||
updater: &stubClientInterface{
|
||||
oldMeasurements: &corev1.ConfigMap{
|
||||
Data: map[string]string{
|
||||
constants.MeasurementsFilename: `{"0":{"expected":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","warnOnly":false}}`,
|
||||
|
@ -43,7 +43,7 @@ func TestUpdateMeasurements(t *testing.T) {
|
|||
wantUpdate: true,
|
||||
},
|
||||
"measurements are the same": {
|
||||
updater: &stubMeasurementsUpdater{
|
||||
updater: &stubClientInterface{
|
||||
oldMeasurements: &corev1.ConfigMap{
|
||||
Data: map[string]string{
|
||||
constants.MeasurementsFilename: `{"0":{"expected":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","warnOnly":false}}`,
|
||||
|
@ -55,7 +55,7 @@ func TestUpdateMeasurements(t *testing.T) {
|
|||
},
|
||||
},
|
||||
"trying to set warnOnly to true results in error": {
|
||||
updater: &stubMeasurementsUpdater{
|
||||
updater: &stubClientInterface{
|
||||
oldMeasurements: &corev1.ConfigMap{
|
||||
Data: map[string]string{
|
||||
constants.MeasurementsFilename: `{"0":{"expected":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","warnOnly":false}}`,
|
||||
|
@ -68,7 +68,7 @@ func TestUpdateMeasurements(t *testing.T) {
|
|||
wantErr: true,
|
||||
},
|
||||
"setting warnOnly to false is allowed": {
|
||||
updater: &stubMeasurementsUpdater{
|
||||
updater: &stubClientInterface{
|
||||
oldMeasurements: &corev1.ConfigMap{
|
||||
Data: map[string]string{
|
||||
constants.MeasurementsFilename: `{"0":{"expected":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","warnOnly":true}}`,
|
||||
|
@ -81,11 +81,11 @@ func TestUpdateMeasurements(t *testing.T) {
|
|||
wantUpdate: true,
|
||||
},
|
||||
"getCurrent error": {
|
||||
updater: &stubMeasurementsUpdater{getErr: someErr},
|
||||
updater: &stubClientInterface{getErr: someErr},
|
||||
wantErr: true,
|
||||
},
|
||||
"update error": {
|
||||
updater: &stubMeasurementsUpdater{
|
||||
updater: &stubClientInterface{
|
||||
oldMeasurements: &corev1.ConfigMap{
|
||||
Data: map[string]string{
|
||||
constants.MeasurementsFilename: `{"0":{"expected":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","warnOnly":false}}`,
|
||||
|
@ -102,8 +102,8 @@ func TestUpdateMeasurements(t *testing.T) {
|
|||
assert := assert.New(t)
|
||||
|
||||
upgrader := &Upgrader{
|
||||
measurementsUpdater: tc.updater,
|
||||
outWriter: &bytes.Buffer{},
|
||||
stableInterface: tc.updater,
|
||||
outWriter: &bytes.Buffer{},
|
||||
}
|
||||
|
||||
err := upgrader.updateMeasurements(context.Background(), tc.newMeasurements)
|
||||
|
@ -124,22 +124,28 @@ func TestUpdateMeasurements(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
type stubMeasurementsUpdater struct {
|
||||
type stubClientInterface struct {
|
||||
oldMeasurements *corev1.ConfigMap
|
||||
updatedMeasurements *corev1.ConfigMap
|
||||
k8sVersion string
|
||||
getErr error
|
||||
updateErr error
|
||||
k8sVersionErr error
|
||||
}
|
||||
|
||||
func (u *stubMeasurementsUpdater) getCurrent(context.Context, string) (*corev1.ConfigMap, error) {
|
||||
func (u *stubClientInterface) getCurrent(context.Context, string) (*corev1.ConfigMap, error) {
|
||||
return u.oldMeasurements, u.getErr
|
||||
}
|
||||
|
||||
func (u *stubMeasurementsUpdater) update(_ context.Context, updatedMeasurements *corev1.ConfigMap) (*corev1.ConfigMap, error) {
|
||||
func (u *stubClientInterface) update(_ context.Context, updatedMeasurements *corev1.ConfigMap) (*corev1.ConfigMap, error) {
|
||||
u.updatedMeasurements = updatedMeasurements
|
||||
return nil, u.updateErr
|
||||
}
|
||||
|
||||
func (u *stubClientInterface) kubernetesVersion() (string, error) {
|
||||
return u.k8sVersion, u.k8sVersionErr
|
||||
}
|
||||
|
||||
func TestUpdateImage(t *testing.T) {
|
||||
someErr := errors.New("error")
|
||||
testCases := map[string]struct {
|
||||
|
@ -229,8 +235,8 @@ func TestUpdateImage(t *testing.T) {
|
|||
assert := assert.New(t)
|
||||
|
||||
upgrader := &Upgrader{
|
||||
imageUpdater: tc.updater,
|
||||
outWriter: &bytes.Buffer{},
|
||||
dynamicInterface: tc.updater,
|
||||
outWriter: &bytes.Buffer{},
|
||||
}
|
||||
|
||||
err := upgrader.updateImage(context.Background(), tc.newImage)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue