|
|
|
@ -19,6 +19,7 @@ import org.junit.After; |
|
|
|
import org.junit.Assert; |
|
|
|
import org.junit.Before; |
|
|
|
import org.junit.Test; |
|
|
|
import org.junit.jupiter.api.Assertions; |
|
|
|
import org.thingsboard.server.common.data.DataConstants; |
|
|
|
import org.thingsboard.server.common.data.Tenant; |
|
|
|
import org.thingsboard.server.common.data.TenantProfile; |
|
|
|
@ -139,7 +140,7 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queueService.deleteQueue(tenantId, foundQueue.getId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptyName() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -149,10 +150,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithInvalidName() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -163,10 +166,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptyTopic() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -176,10 +181,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithInvalidTopic() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -190,10 +197,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptyPollInterval() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -203,10 +212,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptyPartitions() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -216,10 +227,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptyPackProcessingTimeout() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -229,10 +242,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPartitions(1); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptySubmitStrategy() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -242,10 +257,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPartitions(1); |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptyProcessingStrategy() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -255,10 +272,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setPartitions(1); |
|
|
|
queue.setPackProcessingTimeout(2000); |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptySubmitStrategyType() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -270,10 +289,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.getSubmitStrategy().setType(null); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptySubmitStrategyBatchSize() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -286,10 +307,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.getSubmitStrategy().setType(SubmitStrategyType.BATCH); |
|
|
|
queue.getSubmitStrategy().setBatchSize(0); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithEmptyProcessingStrategyType() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -301,10 +324,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queue.getProcessingStrategy().setType(null); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithNegativeProcessingStrategyRetries() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -316,10 +341,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queue.getProcessingStrategy().setRetries(-1); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithNegativeProcessingStrategyFailurePercentage() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -331,10 +358,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queue.getProcessingStrategy().setFailurePercentage(-1); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithNegativeProcessingStrategyPauseBetweenRetries() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -346,10 +375,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queue.getProcessingStrategy().setPauseBetweenRetries(-1); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithProcessingStrategyPauseBetweenRetriesBiggerThenMaxPauseBetweenRetries() { |
|
|
|
Queue queue = new Queue(); |
|
|
|
queue.setTenantId(tenantId); |
|
|
|
@ -361,10 +392,12 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
queue.getProcessingStrategy().setPauseBetweenRetries(100); |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(expected = DataValidationException.class) |
|
|
|
@Test |
|
|
|
public void testSaveQueueWithNotIsolatedTenant() { |
|
|
|
Tenant tenant = new Tenant(); |
|
|
|
tenant.setTitle("Not isolated tenant"); |
|
|
|
@ -381,7 +414,9 @@ public abstract class BaseQueueServiceTest extends AbstractServiceTest { |
|
|
|
queue.setSubmitStrategy(createTestSubmitStrategy()); |
|
|
|
queue.setProcessingStrategy(createTestProcessingStrategy()); |
|
|
|
try { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
Assertions.assertThrows(DataValidationException.class, () -> { |
|
|
|
queueService.saveQueue(queue); |
|
|
|
}); |
|
|
|
} finally { |
|
|
|
tenantService.deleteTenant(savedTenant.getId()); |
|
|
|
} |
|
|
|
|