Exemplo n.º 1
0
    def testUpdateAndDeleteSiddhiApp(self):
        logging.info("Test: Update and Delete Siddhi App")

        spPythonClient = SPClient(self.hostUrl)
        siddhiAppManagerClient = spPythonClient.getSiddhiAppManagementClient()

        lines = []
        with open(resources_path + "/TestSiddhiApp1.siddhi", "rb") as f:
            lines = [line.decode() for line in f.readlines()]

        siddhiApp = "".join(lines)

        result = siddhiAppManagerClient.updateSiddhiApp(siddhiApp, username="******",
                                                        password="******")
        self.assertTrue(result.name == UpdateAppStatusResponse.savedNew.name)

        sleep(5)

        result = siddhiAppManagerClient.updateSiddhiApp(siddhiApp, username="******",
                                                        password="******")
        self.assertTrue(result.name == UpdateAppStatusResponse.updated.name)

        sleep(5)

        result = siddhiAppManagerClient.deleteSiddhiApp("TestSiddhiApp1", username="******",
                                                        password="******")
        self.assertTrue(result)
Exemplo n.º 2
0
    def testCSVSimulationTwoSource(self):
        logging.info("Test: CSV Simulation - Two Source")

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        svr = FeedSimulationConfiguration("simCSV2")
        svr.properties.timestampStartTime = 1488615136957
        svr.properties.timestampEndTime = 1488615136973
        svr.properties.noOfEvents = 7
        svr.properties.timeInterval = 1000

        s1 = SimulationSource(
            simulationType=SimulationSource.Type.CSV_SIMULATION)
        s1.streamName = "FooStream"
        s1.siddhiAppName = "TestSiddhiApp"
        s1.fileName = "sample.csv"
        s1.timestampAttribute = 0
        s1.isOrdered = True
        s1.delimiter = ","
        svr.sources.append(s1)

        s2 = SimulationSource(
            simulationType=SimulationSource.Type.CSV_SIMULATION)
        s2.streamName = "FooStream"
        s2.siddhiAppName = "TestSiddhiApp"
        s2.fileName = "sample.csv"
        s2.timestampAttribute = 0
        s2.isOrdered = True
        s2.delimiter = ","
        svr.sources.append(s2)

        self.assertTrue(
            eventSimulatorClient.uploadCSV("sample.csv",
                                           path=resources_path + "sample.csv",
                                           username="******",
                                           password="******"))
        logging.info("Successfully Uploaded CSV")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.saveSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Saved Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Deleted Simulation Feed Configuration")

        self.assertTrue(
            eventSimulatorClient.deleteCSV("sample.csv",
                                           username="******",
                                           password="******"))
        logging.info("Successfully Deleted CSV")
Exemplo n.º 3
0
    def testCSVUpdate(self):
        logging.info("Test: Uploading, Updating and Deleting a CSV.")

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        self.assertTrue(
            eventSimulatorClient.uploadCSV("sample.csv",
                                           path=resources_path + "sample.csv",
                                           username="******",
                                           password="******"))
        logging.info("Successfully Uploaded CSV")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.updateCSV("sample.csv",
                                           "sample2.csv",
                                           path=resources_path + "sample.csv",
                                           username="******",
                                           password="******"))
        logging.info("Successfully Uploaded CSV")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteCSV("sample2.csv",
                                           username="******",
                                           password="******"))
        logging.info("Successfully Deleted CSV")
Exemplo n.º 4
0
    def testRetrieveSiddhiAppStatus(self):
        logging.info("Test1: Retrieving a Siddhi App Status")
        spPythonClient = SPClient(self.hostUrl)
        siddhiAppManagementClient = spPythonClient.getSiddhiAppManagementClient()

        status = siddhiAppManagementClient.retrieveStatusSiddhiApp("TestSiddhiApp", username="******",
                                                                   password="******")

        self.assertEqual(status, "active")
Exemplo n.º 5
0
    def testEditSimulationFeedConfiguration(self):
        logging.info(
            "Test1: Saving, Editing and Deleting simulation feed configuration"
        )

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        svr = FeedSimulationConfiguration("simulationPrimitive")
        svr.properties.timestampStartTime = 1488615136958
        svr.properties.timestampEndTime = None
        svr.properties.noOfEvents = 8
        svr.properties.timeInterval = 1000

        sm1 = SimulationSource(
            simulationType=SimulationSource.Type.RANDOM_DATA_SIMULATION,
            streamName="FooStream",
            siddhiAppName="TestSiddhiApp",
            timestampInterval=5)

        sm1.attributeConfiguration.append(
            AttributeConfiguration(AttributeConfiguration.Type.PRIMITIVE_BASED,
                                   length=10))
        sm1.attributeConfiguration.append(
            AttributeConfiguration(AttributeConfiguration.Type.PRIMITIVE_BASED,
                                   min=35000,
                                   max=30000,
                                   precision=2))
        sm1.attributeConfiguration.append(
            AttributeConfiguration(AttributeConfiguration.Type.PRIMITIVE_BASED,
                                   min=150,
                                   max=300))

        svr.sources.append(sm1)

        self.assertTrue(
            eventSimulatorClient.saveSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Saved Simulation Feed Configuration")
        sleep(5)

        svr.properties.simulationName = "simulationNewName"
        self.assertTrue(
            eventSimulatorClient.editSimulationFeedConfiguration(
                "simulationPrimitive", svr, username="******",
                password="******"))
        logging.info("Successfully Editted Simulation Feed Configuration")
        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteSimulationFeedConfiguration(
                "simulationNewName", username="******", password="******"))
        logging.info("Successfully Deleted Simulation Feed Configuration")
Exemplo n.º 6
0
    def testSingleSimulation(self):
        logging.info("Test: Simulating a Single Event")

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        singleSimulationConfiguration = SingleSimulationConfiguration(
            "TestSiddhiApp", "FooStream", [None, 9, 45])

        self.assertTrue(
            eventSimulatorClient.simulateSingleEvent(
                singleSimulationConfiguration,
                username="******",
                password="******"))
        logging.info("Successfully Simulated Single Event")
Exemplo n.º 7
0
    def testRandomSimulationCustomList(self):
        logging.info("Test: Random Simulation using Custom List")

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        svr = FeedSimulationConfiguration("sim")
        svr.properties.timestampStartTime = 1488615136958
        svr.properties.timestampEndTime = 1488615136998
        svr.properties.noOfEvents = 5
        svr.properties.timeInterval = 1000

        s1 = SimulationSource(
            simulationType=SimulationSource.Type.RANDOM_DATA_SIMULATION)
        s1.streamName = "FooStream"
        s1.siddhiAppName = "TestSiddhiApp"
        s1.timestampInterval = 5
        svr.sources.append(s1)

        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.CUSTOM_DATA_BASED,
                list=["WSO2,AAA", "DDD", "IBM"]))
        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.CUSTOM_DATA_BASED,
                list=[1.0, 2.0, 3.0]))
        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.CUSTOM_DATA_BASED,
                list=[10, 20, 30]))

        self.assertTrue(
            eventSimulatorClient.saveSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Saved Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Deleted Simulation Feed Configuration")
Exemplo n.º 8
0
    def testRetrieveSiddhiApp(self):
        logging.info("Test1: Retrieving a Siddhi App")

        spPythonClient = SPClient(self.hostUrl)
        siddhiAppManagementClient = spPythonClient.getSiddhiAppManagementClient()

        app = siddhiAppManagementClient.retrieveSiddhiApp("TestSiddhiApp", username="******",
                                                          password="******")

        lines = []
        with open(resources_path + "/TestSiddhiApp.siddhi", "rb") as f:
            lines = [line.decode() for line in f.readlines()]

        target_app = "".join(lines)

        logging.info(target_app)

        logging.info(app)
        self.assertEqual(app, target_app)
Exemplo n.º 9
0
    def testListSiddhiApps(self):
        logging.info("Test1: List Siddhi Apps")

        spPythonClient = SPClient(self.hostUrl)
        siddhiAppManagementClient = spPythonClient.getSiddhiAppManagementClient()

        lines = []
        with open(resources_path + "/TestSiddhiApp1.siddhi", "rb") as f:
            lines = [line.decode() for line in f.readlines()]

        siddhiApp = "".join(lines)

        result = siddhiAppManagementClient.saveSiddhiApp(siddhiApp, username="******",
                                                         password="******")
        self.assertTrue(result)

        sleep(5)

        apps = siddhiAppManagementClient.listSiddhiApps(username="******",
                                                        password="******")
        logging.info(apps)
        self.assertTrue("TestSiddhiApp1" in apps)
        logging.info(apps)

        apps = siddhiAppManagementClient.listSiddhiApps(username="******",
                                                        password="******", isActive=True)
        self.assertTrue("TestSiddhiApp1" in apps)
        logging.info(apps)

        apps = siddhiAppManagementClient.listSiddhiApps(username="******",
                                                        password="******", isActive=False)
        self.assertTrue("TestSiddhiApp1" not in apps)
        logging.info(apps)

        result = siddhiAppManagementClient.deleteSiddhiApp("TestSiddhiApp1", username="******",
                                                           password="******")
        self.assertTrue(result)
Exemplo n.º 10
0
    def testRunPausePrimitiveRandom(self):
        logging.info(
            "Test: Random Simulation - Primitive. Save, Run, Pause, Resume, Stop and Delete."
        )

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        svr = FeedSimulationConfiguration("simulationPrimitive")
        svr.properties.noOfEvents = 8
        svr.properties.timeInterval = 30000

        s1 = SimulationSource(
            simulationType=SimulationSource.Type.RANDOM_DATA_SIMULATION)
        s1.streamName = "FooStream"
        s1.siddhiAppName = "TestSiddhiApp"
        s1.timestampInterval = 5
        svr.sources.append(s1)

        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.PRIMITIVE_BASED, length=10))
        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.PRIMITIVE_BASED,
                min=35000,
                max=30000,
                precision=2))
        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.PRIMITIVE_BASED,
                min=150,
                max=300))

        self.assertTrue(
            eventSimulatorClient.saveSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Saved Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.runSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Started Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.pauseSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Paused Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.resumeSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Resumed Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.stopSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Stopped Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Deleted Simulation Feed Configuration")
Exemplo n.º 11
0
    def testDBandCSVSimulation(self):
        logging.info("Test: Random Simulation - Property and Primitive")

        target = {
            "properties": {
                "simulationName": "simulationCSV",
                "timestampStartTime": "1488615136958",
                "timestampEndTime": "1488615136966",
                "timeInterval": "1000"
            },
            "sources": [{
                "simulationType": "DATABASE_SIMULATION",
                "streamName": "FooStream",
                "siddhiAppName": "TestSiddhiApp",
                "dataSourceLocation":
                "jdbc:mysql://localhost:3306/DatabaseFeedSimulation",
                "driver": "com.mysql.jdbc.Driver",
                "username": "******",
                "password": "******",
                "tableName": "foostream3",
                "timestampAttribute": "timestamp",
                "columnNamesList": "symbol,price,volume"
            }, {
                "simulationType": "CSV_SIMULATION",
                "streamName": "FooStream",
                "siddhiAppName": "TestSiddhiApp",
                "fileName": "sample.csv",
                "timestampAttribute": "0",
                "isOrdered": "False",
                "delimiter": ","
            }]
        }

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        svr = FeedSimulationConfiguration("simulationCSV")
        svr.properties.timestampStartTime = 1488615136958
        svr.properties.timestampEndTime = 1488615136966
        svr.properties.timeInterval = 1000

        s1 = SimulationSource(
            simulationType=SimulationSource.Type.DATABASE_SIMULATION)
        s1.streamName = "FooStream"
        s1.siddhiAppName = "TestSiddhiApp"
        s1.dataSourceLocation = "jdbc:mysql://localhost:3306/DatabaseFeedSimulation"
        s1.driver = "com.mysql.jdbc.Driver"
        s1.username = "******"
        s1.password = "******"
        s1.tableName = "foostream3"
        s1.timestampAttribute = "timestamp"
        s1.columnNamesList = "symbol,price,volume"

        svr.sources.append(s1)

        s2 = SimulationSource(
            simulationType=SimulationSource.Type.CSV_SIMULATION)
        s2.streamName = "FooStream"
        s2.siddhiAppName = "TestSiddhiApp"
        s2.fileName = "sample.csv"
        s2.timestampAttribute = 0
        s2.isOrdered = False
        s2.delimiter = ","

        svr.sources.append(s2)

        match = svr.toJSONObject()

        self.assertDictEqual(target["sources"][1], match["sources"][1])

        self.assertTrue(
            eventSimulatorClient.uploadCSV("sample.csv",
                                           path=resources_path + "sample.csv",
                                           username="******",
                                           password="******"))
        logging.info("Successfully Uploaded CSV")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.saveSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Saved Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.runSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Started Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Deleted Simulation Feed Configuration")

        self.assertTrue(
            eventSimulatorClient.deleteCSV("sample.csv",
                                           username="******",
                                           password="******"))
        logging.info("Successfully Deleted CSV")
Exemplo n.º 12
0
    def testRandomSimulationRegexAndPrimitive(self):
        logging.info("Test: Random Simulation - Regex and Primitive")

        target = {
            "properties": {
                "simulationName": "simRndm",
                "timestampStartTime": "1488615136958",
                "timestampEndTime": "1488615136998",
                "noOfEvents": None,
                "timeInterval": "1000"
            },
            "sources": [{
                "simulationType":
                "RANDOM_DATA_SIMULATION",
                "streamName":
                "FooStream",
                "siddhiAppName":
                "TestSiddhiApp",
                "timestampInterval":
                "5",
                "attributeConfiguration": [{
                    "type": "REGEX_BASED",
                    "pattern": "[a-zA-Z]*"
                }, {
                    "type": "REGEX_BASED",
                    "pattern": "[0-9]*"
                }, {
                    "type": "PRIMITIVE_BASED",
                    "primitiveType": "LONG",
                    "min": "1500000",
                    "max": "30000000"
                }]
            }]
        }

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        svr = FeedSimulationConfiguration("simRndm")
        svr.properties.timestampStartTime = 1488615136958
        svr.properties.timestampEndTime = 1488615136998
        svr.properties.noOfEvents = None
        svr.properties.timeInterval = 1000

        s1 = SimulationSource(
            simulationType=SimulationSource.Type.RANDOM_DATA_SIMULATION)
        s1.streamName = "FooStream"
        s1.siddhiAppName = "TestSiddhiApp"
        s1.timestampInterval = 5
        svr.sources.append(s1)

        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.REGEX_BASED,
                pattern="[a-zA-Z]*"))
        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.REGEX_BASED,
                pattern="[0-9]*"))
        s1.attributeConfiguration.append(
            AttributeConfiguration(
                type=AttributeConfiguration.Type.PRIMITIVE_BASED,
                min=1500000,
                max=30000000,
                primitiveType=AttributeConfiguration.PrimitiveType.LONG))

        match = svr.toJSONObject()

        self.assertDictEqual(target, match)

        self.assertTrue(
            eventSimulatorClient.saveSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Saved Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.runSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Started Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Deleted Simulation Feed Configuration")
Exemplo n.º 13
0
    def testDBSimulationOneSourceWOColumnNames(self):
        logging.info("Test: DB Simulation - One Source w/o column names")

        target = {
            "properties": {
                "simulationName": "simDbNoColumnsList",
                "timestampStartTime": "1488615136958",
                "timestampEndTime": "1488615136961",
                "timeInterval": "1000"
            },
            "sources": [{
                "simulationType": "DATABASE_SIMULATION",
                "streamName": "FooStream",
                "siddhiAppName": "TestSiddhiApp",
                "dataSourceLocation":
                "jdbc:mysql://localhost:3306/DatabaseFeedSimulation",
                "driver": "com.mysql.jdbc.Driver",
                "username": "******",
                "password": "******",
                "tableName": "foostream3",
                "timestampAttribute": "timestamp",
                "columnNamesList": None
            }]
        }

        spPythonClient = SPClient(self.hostUrl)
        eventSimulatorClient = spPythonClient.getEventSimulatorClient()

        svr = FeedSimulationConfiguration("simDbNoColumnsList")
        svr.properties.timestampStartTime = 1488615136958
        svr.properties.timestampEndTime = 1488615136961
        svr.properties.timeInterval = 1000

        s1 = SimulationSource(
            simulationType=SimulationSource.Type.DATABASE_SIMULATION)
        s1.streamName = "FooStream"
        s1.siddhiAppName = "TestSiddhiApp"
        s1.dataSourceLocation = "jdbc:mysql://localhost:3306/DatabaseFeedSimulation"
        s1.driver = "com.mysql.jdbc.Driver"
        s1.username = "******"
        s1.password = "******"
        s1.tableName = "foostream3"
        s1.timestampAttribute = "timestamp"
        s1.columnNamesList = None
        svr.sources.append(s1)

        match = svr.toJSONObject()

        self.assertDictEqual(target, match)

        self.assertTrue(
            eventSimulatorClient.saveSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Saved Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.runSimulationFeedConfiguration(
                svr, username="******", password="******"))
        logging.info("Successfully Started Simulation Feed Configuration")

        sleep(5)

        self.assertTrue(
            eventSimulatorClient.deleteSimulationFeedConfiguration(
                svr.properties.simulationName,
                username="******",
                password="******"))
        logging.info("Successfully Deleted Simulation Feed Configuration")