package org.openstack.atlas.api.mgmt.validation.validators;
import org.openstack.atlas.docs.loadbalancers.api.management.v1.Backup;
import org.openstack.atlas.api.mgmt.validation.validators.BackupValidator;
import org.openstack.atlas.api.validation.results.ValidatorResult;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;
import java.util.Calendar;
import static org.openstack.atlas.api.validation.context.HttpRequestType.POST;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@RunWith(Enclosed.class)
public class BackupValidatorTest {
public static class WhenValidatingPostRequest {
private BackupValidator validator;
private Backup backup;
@Before
public void standUp() {
validator = new BackupValidator();
backup = new Backup();
backup.setName("World's greatest backup!");
}
@Test
public void shouldAcceptValidBackupObject() {
ValidatorResult result = validator.validate(backup, POST);
assertTrue(result.passedValidation());
}
@Test
public void shouldRejectWhenIdIsSet() {
backup.setId(1234);
ValidatorResult result = validator.validate(backup, POST);
assertFalse(result.passedValidation());
}
@Test
public void shouldRejectWhenBackupTimeIsSet() {
backup.setBackupTime(Calendar.getInstance());
ValidatorResult result = validator.validate(backup, POST);
assertFalse(result.passedValidation());
}
@Test
public void shouldRejectWhenHostIdIsSet() {
backup.setHostId(69);
ValidatorResult result = validator.validate(backup, POST);
assertFalse(result.passedValidation());
}
}
}