I'd recommend parameterizing this test, like we did with QueryTest (you don't need to derive from BaseClientMangedTimeTest). The advantage is that you keep your same tests, but you rerun them with indexes on different columns. I like the idea of having a check for the query plan in the test too, to make sure it's using the index. Can you do this in a follow-up check-in?

    @RunWith(Parameterized.class)
    public class QueryTest extends BaseClientMangedTimeTest {
        private String indexDDL;
    
        public QueryTest(String indexDDL) {
            this.indexDDL = indexDDL;
        }
    
        @Before
        public void initTable() throws Exception {
            ts = nextTimestamp();
            initATableValues(tenantId, getDefaultSplits(tenantId), date=new Date(System.currentTimeMillis()), ts);
            if (indexDDL != null && indexDDL.length() > 0) {
                Properties props = new Properties(TEST_PROPERTIES);
                props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
                Connection conn = DriverManager.getConnection(getUrl(), props);
                conn.createStatement().execute(indexDDL);
            }
        }
    
        @Parameters(name="{0}")
        public static Collection<Object> data() {
            List<Object> testCases = Lists.newArrayList();
            testCases.add(new String[] { "CREATE INDEX " + ATABLE_INDEX_NAME + " ON aTable (a_integer DESC) INCLUDE ("
                    + "    A_STRING, " + "    B_STRING, " + "    A_DATE)" });
            testCases.add(new String[] { "CREATE INDEX " + ATABLE_INDEX_NAME + " ON aTable (a_integer, a_string) INCLUDE ("
                    + "    B_STRING, " + "    A_DATE)" });
            testCases.add(new String[] { "CREATE INDEX " + ATABLE_INDEX_NAME + " ON aTable (a_integer) INCLUDE ("
                    + "    A_STRING, " + "    B_STRING, " + "    A_DATE)" });
            testCases.add(new String[] { "" });
            return testCases;
        }