Files
portainer/api/http/handler/backup/update_s3_settings_test.go
T
Dmitry Salakhov 37baabe134 EE-292: backup to and restore from s3 (#240)
* EE-384: add endpoint to set auto backup (#224)

* EE-383: add endpoint to fetch backup settings (#231)

* add get backup settings handler
* add api docs desc

* EE-382: restore from s3 (#233)

* EE-381: add GET backup status handler (#234)

* EE-385: Add S3 backup execute handler (#237)

* add s3 backup execute handler

* refactories inside `./api/backup/backup_scheduler.go` and `./api/backup/backup_scheduler.go`

* fix tests

* EE-375: added backup to S3 form

* EE-376: added restore from S3 form

* EE-377: Update Home screen to display last backup run status

* update backup service with back end endpoints.

* restart admin monitor during s3 restores

* use go 1.13

* go 1.13 compatibility

* EE-375: added cron-validator lib

* EE-375: using enum to compare form types

* EE-375: validate cron rule field

* try fix windows build

* EE-375 EE-376 backup and restore forms validation changes

* fix(autobackup): update autobackup settings validation rules (#260)

* fix(autobackup): automate backup to s3 fe update (#261)

* EE-292: fixed typo in property.

* EE-292: updated auto backup front end validation.

* EE-292: updated lib to validate cron rule in front end

* fix dependencies

* bumped libcompose version

Co-authored-by: Hui <arris_li@hotmail.com>
Co-authored-by: Felix Han <felix.han@portainer.io>
Co-authored-by: fhanportainer <79428273+fhanportainer@users.noreply.github.com>
2021-04-15 12:12:53 +12:00

51 lines
844 B
Go

package backup
import (
"net/http"
"net/http/httptest"
"testing"
portainer "github.com/portainer/portainer/api"
"github.com/stretchr/testify/assert"
)
func Test_ValidateCronRules(t *testing.T) {
tests := []struct {
name string
rule string
isErr bool
}{
{
name: "empty cron rule",
rule: "",
isErr: false,
},
{
name: "incorrect cron rule",
rule: "* wrong *",
isErr: true,
},
{
name: "standart cron rule",
rule: "* * * * 1",
isErr: false,
},
}
emtpyRequest := httptest.NewRequest(http.MethodPost, "/", nil)
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
s := &backupSettings{
S3BackupSettings: portainer.S3BackupSettings{
CronRule: test.rule,
},
}
err := s.Validate(emtpyRequest)
assert.Equal(t, err != nil, test.isErr)
})
}
}