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]

Reply via email to