Java tutorial
/* * 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. */ package org.apache.eagle.metadata.service; import org.apache.commons.collections.CollectionUtils; import org.apache.eagle.alert.engine.coordinator.PolicyDefinition; import org.apache.eagle.metadata.model.PolicyEntity; import org.apache.eagle.metadata.service.memory.PolicyEntityServiceMemoryImpl; import org.junit.Assert; import org.junit.Test; import java.util.Arrays; import java.util.Collection; import java.util.List; public class TestPolicyEntityServiceMemoryImpl { private PolicyEntityService policyEntityService = new PolicyEntityServiceMemoryImpl(); @Test public void test() { // define a prototype policy without site info PolicyDefinition policyDefinition = new PolicyDefinition(); policyDefinition.setName("policy1"); PolicyDefinition.Definition definition = new PolicyDefinition.Definition("siddhi", "from STREAM select * insert into out"); policyDefinition.setDefinition(definition); policyDefinition.setInputStreams(Arrays.asList("STREAM")); policyDefinition.setOutputStreams(Arrays.asList("out")); // define publisher list List<String> alertPublisherIds = Arrays.asList("slack"); // create PolicyEntity policyEntity = new PolicyEntity(); policyEntity.setDefinition(policyDefinition); policyEntity.setAlertPublishmentIds(alertPublisherIds); PolicyEntity res = policyEntityService.createOrUpdatePolicyProto(policyEntity); Assert.assertTrue(res.getDefinition().equals(policyDefinition)); Assert.assertTrue(CollectionUtils.isEqualCollection(res.getAlertPublishmentIds(), alertPublisherIds)); Collection<PolicyEntity> policies = policyEntityService.getAllPolicyProto(); Assert.assertTrue(policies.size() == 1); PolicyEntity entity = policyEntityService.getByUUIDorName(policies.iterator().next().getUuid(), null); Assert.assertTrue(entity.equals(policies.iterator().next())); entity = policyEntityService.getByUUIDorName(null, "[null]policy1"); Assert.assertTrue(entity.equals(policies.iterator().next())); // test update entity.getDefinition().setName("policy2"); PolicyEntity updatedEntity = policyEntityService.update(entity); Assert.assertTrue(updatedEntity.getDefinition().getName().equals("policy2")); // test delete //Assert.assertTrue(policyEntityService.deletePolicyProtoByUUID(entity.getUuid())); policyEntityService.deletePolicyProtoByUUID(entity.getUuid()); Assert.assertTrue(policyEntityService.getAllPolicyProto().size() == 0); } }