|
1 | 1 | // |
2 | 2 | // DISCLAIMER |
3 | 3 | // |
4 | | -// Copyright 2023 ArangoDB GmbH, Cologne, Germany |
| 4 | +// Copyright 2023-2024 ArangoDB GmbH, Cologne, Germany |
5 | 5 | // |
6 | 6 | // Licensed under the Apache License, Version 2.0 (the "License"); |
7 | 7 | // you may not use this file except in compliance with the License. |
@@ -97,7 +97,8 @@ func Test_State_CreateError_Retry_WhenBackoffDisabled_C1(t *testing.T) { |
97 | 97 | // Assert |
98 | 98 | newObj := refreshArangoBackup(t, handler, obj) |
99 | 99 | require.Equal(t, newObj.Status.State, backupApi.ArangoBackupStateFailed) |
100 | | - require.Equal(t, newObj.Status.Message, "retries are disabled") |
| 100 | + require.Nil(t, newObj.Status.Backoff) |
| 101 | + require.Equal(t, newObj.Status.Message, "") |
101 | 102 | } |
102 | 103 |
|
103 | 104 | func Test_State_CreateError_Retry_WhenBackoffDisabled_C2(t *testing.T) { |
@@ -126,7 +127,42 @@ func Test_State_CreateError_Retry_WhenBackoffDisabled_C2(t *testing.T) { |
126 | 127 | // Assert |
127 | 128 | newObj := refreshArangoBackup(t, handler, obj) |
128 | 129 | require.Equal(t, newObj.Status.State, backupApi.ArangoBackupStateFailed) |
129 | | - require.Equal(t, newObj.Status.Message, "retries are disabled") |
| 130 | + require.Nil(t, newObj.Status.Backoff) |
| 131 | + require.Equal(t, newObj.Status.Message, "") |
| 132 | +} |
| 133 | + |
| 134 | +func Test_State_CreateError_Retry_WhenBackoffDisabled_C3(t *testing.T) { |
| 135 | + // Arrange |
| 136 | + message := "SomeRandomErrorMessage" |
| 137 | + |
| 138 | + handler, mock := newErrorsFakeHandler(mockErrorsArangoClientBackup{}) |
| 139 | + |
| 140 | + obj, deployment := newObjectSet(t, backupApi.ArangoBackupStateCreateError) |
| 141 | + |
| 142 | + obj.Status.Message = message |
| 143 | + |
| 144 | + backupMeta, err := mock.Create() |
| 145 | + require.NoError(t, err) |
| 146 | + |
| 147 | + obj.Status.Backup = &backupApi.ArangoBackupDetails{ |
| 148 | + ID: string(backupMeta.ID), |
| 149 | + Version: backupMeta.Version, |
| 150 | + CreationTimestamp: meta.Now(), |
| 151 | + } |
| 152 | + |
| 153 | + obj.Status.Time.Time = time.Now().Add(-2 * downloadDelay) |
| 154 | + |
| 155 | + // Act |
| 156 | + createArangoDeployment(t, handler, deployment) |
| 157 | + createArangoBackup(t, handler, obj) |
| 158 | + |
| 159 | + require.NoError(t, handler.Handle(context.Background(), tests.NewItem(t, operation.Update, obj))) |
| 160 | + |
| 161 | + // Assert |
| 162 | + newObj := refreshArangoBackup(t, handler, obj) |
| 163 | + require.Equal(t, newObj.Status.State, backupApi.ArangoBackupStateFailed) |
| 164 | + require.Nil(t, newObj.Status.Backoff) |
| 165 | + require.Equal(t, newObj.Status.Message, message) |
130 | 166 | } |
131 | 167 |
|
132 | 168 | func Test_State_CreateError_Transfer_To_Failed(t *testing.T) { |
|
0 commit comments