This is an automated email from the ASF dual-hosted git repository.
brandonwilliams pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push:
new e1fc195558 Fix invalid unit test check for CreateTableValidationTest
e1fc195558 is described below
commit e1fc1955586e7fdbf65041cb3eeca9c64eddf421
Author: maxwellguo <[email protected]>
AuthorDate: Thu Sep 21 11:28:29 2023 +0800
Fix invalid unit test check for CreateTableValidationTest
Patch by Maxwell Guo; reviewed by brandonwilliams and smiklosovic for
CASSANDRa-18870
---
.../schema/CreateTableValidationTest.java | 49 +++++++++-------------
1 file changed, 20 insertions(+), 29 deletions(-)
diff --git
a/test/unit/org/apache/cassandra/schema/CreateTableValidationTest.java
b/test/unit/org/apache/cassandra/schema/CreateTableValidationTest.java
index 4ccb706461..02c5d7b260 100644
--- a/test/unit/org/apache/cassandra/schema/CreateTableValidationTest.java
+++ b/test/unit/org/apache/cassandra/schema/CreateTableValidationTest.java
@@ -21,31 +21,22 @@ package org.apache.cassandra.schema;
import org.apache.cassandra.cql3.CQLTester;
import org.apache.cassandra.exceptions.ConfigurationException;
import org.apache.cassandra.exceptions.InvalidRequestException;
+import org.apache.cassandra.exceptions.RequestValidationException;
+import org.apache.cassandra.utils.BloomCalculations;
import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
-import static org.junit.Assert.fail;
public class CreateTableValidationTest extends CQLTester
{
@Test
- public void testInvalidBloomFilterFPRatio() throws Throwable
+ public void testInvalidBloomFilterFPRatio()
{
- try
- {
- createTableMayThrow("CREATE TABLE %s (a int PRIMARY KEY, b int)
WITH bloom_filter_fp_chance = 0.0000001");
- fail("Expected an fp chance of 0.0000001 to be rejected");
- }
- catch (ConfigurationException exc) { }
-
- try
- {
- createTableMayThrow("CREATE TABLE %s (a int PRIMARY KEY, b int)
WITH bloom_filter_fp_chance = 1.1");
- fail("Expected an fp chance of 1.1 to be rejected");
- }
- catch (ConfigurationException exc) { }
-
+ expectedFailure(ConfigurationException.class, "CREATE TABLE %s (a int
PRIMARY KEY, b int) WITH bloom_filter_fp_chance = 0.0000001",
+ "bloom_filter_fp_chance must be larger than " +
BloomCalculations.minSupportedBloomFilterFpChance() + " and less than or equal
to 1.0 (got 1.0E-7)");
+ expectedFailure(ConfigurationException.class, "CREATE TABLE %s (a int
PRIMARY KEY, b int) WITH bloom_filter_fp_chance = 1.1",
+ "bloom_filter_fp_chance must be larger than " +
BloomCalculations.minSupportedBloomFilterFpChance() + " and less than or equal
to 1.0 (got 1.1");
// sanity check
createTable("CREATE TABLE %s (a int PRIMARY KEY, b int) WITH
bloom_filter_fp_chance = 0.1");
}
@@ -66,44 +57,44 @@ public class CreateTableValidationTest extends CQLTester
public void testCreateTableErrorOnNonClusteringKey()
{
String expectedMessage = "Only clustering key columns can be defined
in CLUSTERING ORDER directive";
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (ck1 ASC, ck2 DESC, v
ASC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (ck1 ASC, ck2 DESC, v ASC);",
expectedMessage+": [v]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (v ASC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (v ASC);",
expectedMessage+": [v]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (pk ASC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (pk ASC);",
expectedMessage+": [pk]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (pk ASC, ck1 DESC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (pk ASC, ck1 DESC);",
expectedMessage+": [pk]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (ck1 ASC, ck2 DESC, pk
DESC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (ck1 ASC, ck2 DESC, pk DESC);",
expectedMessage+": [pk]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (pk DESC, v DESC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (pk DESC, v DESC);",
expectedMessage+": [pk, v]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (pk DESC, v DESC, ck1
DESC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (pk DESC, v DESC, ck1 DESC);",
expectedMessage+": [pk, v]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (ck1 ASC, v ASC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (ck1 ASC, v ASC);",
expectedMessage+": [v]");
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (v ASC, ck1 DESC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (v ASC, ck1 DESC);",
expectedMessage+": [v]");
}
@Test
public void testCreateTableInWrongOrder()
{
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (ck2 ASC, ck1 DESC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (ck2 ASC, ck1 DESC);",
"The order of columns in the CLUSTERING ORDER
directive must match that of the clustering columns");
}
@Test
public void testCreateTableWithMissingClusteringColumn()
{
- expectedFailure("CREATE TABLE %s (pk int, ck1 int, ck2 int, v int,
PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING ORDER BY (ck2 ASC);",
+ expectedFailure(InvalidRequestException.class, "CREATE TABLE %s (pk
int, ck1 int, ck2 int, v int, PRIMARY KEY ((pk),ck1, ck2)) WITH CLUSTERING
ORDER BY (ck2 ASC);",
"Missing CLUSTERING ORDER for column ck1");
}
- private void expectedFailure(String statement, String errorMsg)
+ private void expectedFailure(final Class<? extends
RequestValidationException> exceptionType, String statement, String errorMsg)
{
- assertThatExceptionOfType(InvalidRequestException.class)
+ assertThatExceptionOfType(exceptionType)
.isThrownBy(() -> createTableMayThrow(statement))
.withMessageContaining(errorMsg);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]