Fix couple functions related integration tests (#5434)

diff --git a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/FunctionsCLITest.java b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/FunctionsCLITest.java
similarity index 89%
rename from tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/FunctionsCLITest.java
rename to tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/FunctionsCLITest.java
index 4989f4f..1818769 100644
--- a/tests/integration/src/test/java/org/apache/pulsar/tests/integration/functions/FunctionsCLITest.java
+++ b/tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/FunctionsCLITest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.pulsar.tests.integration.functions;
+package org.apache.pulsar.tests.integration.cli;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
@@ -24,19 +24,19 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.pulsar.tests.integration.containers.WorkerContainer;
 import org.apache.pulsar.tests.integration.docker.ContainerExecResult;
+import org.apache.pulsar.tests.integration.functions.PulsarFunctionsTestBase;
 import org.apache.pulsar.tests.integration.functions.utils.UploadDownloadCommandGenerator;
-import org.apache.pulsar.tests.integration.suites.PulsarTestSuite;
 import org.apache.pulsar.tests.integration.topologies.PulsarCluster;
 import org.testng.annotations.Test;
 
 @Slf4j
-public class FunctionsCLITest extends PulsarTestSuite {
+public class FunctionsCLITest extends PulsarFunctionsTestBase {
 
     //
     // Tests on uploading/downloading function packages.
     //
 
-    public String checkUpload() throws Exception {
+    public String uploadFunction() throws Exception {
         String bkPkgPath = String.format("%s/%s/%s",
             "tenant-" + randomName(8),
             "ns-" + randomName(8),
@@ -59,8 +59,8 @@
     }
 
     @Test
-    public void checkDownload() throws Exception {
-        String bkPkgPath = checkUpload();
+    public void testUploadDownload() throws Exception {
+        String bkPkgPath = uploadFunction();
         String localPkgFile = "/tmp/checkdownload-" + randomName(16);
 
         UploadDownloadCommandGenerator generator = UploadDownloadCommandGenerator.createDownloader(
diff --git a/tests/integration/src/test/resources/pulsar-cli.xml b/tests/integration/src/test/resources/pulsar-cli.xml
index a0effd7..56906a6 100644
--- a/tests/integration/src/test/resources/pulsar-cli.xml
+++ b/tests/integration/src/test/resources/pulsar-cli.xml
@@ -26,6 +26,7 @@
             <class name="org.apache.pulsar.tests.integration.cli.HealthCheckTest" />
             <class name="org.apache.pulsar.tests.integration.compaction.TestCompaction" />
             <class name="org.apache.pulsar.tests.integration.cli.AdminMultiHostTest"/>
+            <class name="org.apache.pulsar.tests.integration.cli.FunctionsCLITest"/>
         </classes>
     </test>
 </suite>
diff --git a/tests/integration/src/test/resources/pulsar-function-state.xml b/tests/integration/src/test/resources/pulsar-function-state.xml
new file mode 100644
index 0000000..a95b3f5
--- /dev/null
+++ b/tests/integration/src/test/resources/pulsar-function-state.xml
@@ -0,0 +1,28 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
+<suite name="Pulsar Function State Integration Tests" verbose="2" annotations="JDK">
+    <test name="pulsar-function-state-test-suite" preserve-order="true" >
+        <classes>
+            <class name="org.apache.pulsar.tests.integration.functions.PulsarStateTest" />
+        </classes>
+    </test>
+</suite>
diff --git a/tests/integration/src/test/resources/pulsar.xml b/tests/integration/src/test/resources/pulsar.xml
index 79bf744..6bf67b6 100644
--- a/tests/integration/src/test/resources/pulsar.xml
+++ b/tests/integration/src/test/resources/pulsar.xml
@@ -29,5 +29,6 @@
         <suite-file path="./pulsar-thread.xml" />
         <suite-file path="./tiered-jcloud-storage.xml" />
         <suite-file path="./tiered-filesystem-storage.xml"/>
+        <suite-file path="./pulsar-function-state.xml" />
     </suite-files>
 </suite>