forked from community/device-mgt-core
parent
5b9bddd667
commit
ef6e7df656
@ -1,44 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
*
|
||||
* WSO2 Inc. 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.wso2.carbon.device.mgt.analytics.data.publisher.exception;
|
||||
|
||||
public class DataPublisherAlreadyExistsException extends Exception {
|
||||
public DataPublisherAlreadyExistsException() {
|
||||
super();
|
||||
}
|
||||
|
||||
public DataPublisherAlreadyExistsException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
public DataPublisherAlreadyExistsException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
||||
public DataPublisherAlreadyExistsException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
protected DataPublisherAlreadyExistsException(String message, Throwable cause,
|
||||
boolean enableSuppression,
|
||||
boolean writableStackTrace) {
|
||||
super(message, cause, enableSuppression, writableStackTrace);
|
||||
}
|
||||
}
|
@ -0,0 +1,109 @@
|
||||
/*
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
* WSO2 Inc. 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.wso2.carbon.device.mgt.analytics.data.publisher;
|
||||
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.device.mgt.analytics.data.publisher.config.AnalyticsConfiguration;
|
||||
import org.wso2.carbon.device.mgt.analytics.data.publisher.config.InvalidConfigurationStateException;
|
||||
import org.wso2.carbon.device.mgt.analytics.data.publisher.exception.DataPublisherConfigurationException;
|
||||
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
|
||||
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherServiceImpl;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* This test class will test the methods that are exposed from {@link EventsPublisherService}
|
||||
*/
|
||||
public class EventPublisherServiceTest extends BaseAnalyticsDataPublisherTest {
|
||||
|
||||
private static final String STREAM_NAME = "org.wso2.test.stream";
|
||||
private static final String TENANT_DOMAIN = "test.com";
|
||||
|
||||
private EventsPublisherService eventsPublisherService;
|
||||
|
||||
@BeforeClass
|
||||
public void initTest() {
|
||||
this.eventsPublisherService = new EventsPublisherServiceImpl();
|
||||
}
|
||||
|
||||
@Test(description = "Publish the event before initializing",
|
||||
expectedExceptions = InvalidConfigurationStateException.class)
|
||||
public void publishBeforeInit() throws DataPublisherConfigurationException, NoSuchFieldException,
|
||||
IllegalAccessException, InstantiationException {
|
||||
Field configField = AnalyticsConfiguration.class.getDeclaredField("config");
|
||||
configField.setAccessible(true);
|
||||
configField.set(configField, null);
|
||||
this.eventsPublisherService.publishEvent(STREAM_NAME, "1.0.0", getEventProps(), getEventProps(),
|
||||
getEventProps());
|
||||
}
|
||||
|
||||
@Test(description = "Publish with analytics config disabled", dependsOnMethods = "publishBeforeInit")
|
||||
public void publishWhenAnalyticsConfigDisabled() throws DataPublisherConfigurationException {
|
||||
AnalyticsConfiguration.init();
|
||||
AnalyticsConfiguration.getInstance().setEnable(false);
|
||||
boolean published = this.eventsPublisherService.publishEvent(STREAM_NAME, "1.0.0", getEventProps(),
|
||||
getEventProps(), getEventProps());
|
||||
Assert.assertFalse(published);
|
||||
}
|
||||
|
||||
@Test(description = "Publish the event after initializing", dependsOnMethods = "publishWhenAnalyticsConfigDisabled")
|
||||
public void publishAfterInit() throws DataPublisherConfigurationException {
|
||||
AnalyticsConfiguration.getInstance().setEnable(true);
|
||||
boolean published = this.eventsPublisherService.publishEvent(STREAM_NAME, "1.0.0", getEventProps(),
|
||||
getEventProps(), getEventProps());
|
||||
Assert.assertTrue(published);
|
||||
}
|
||||
|
||||
@Test(description = "Publish as tenant", dependsOnMethods = "publishAfterInit")
|
||||
public void publishAsTenant() throws DataPublisherConfigurationException {
|
||||
publishAsTenant(getEventProps());
|
||||
}
|
||||
|
||||
@Test(description = "Publish the with no meta data as tenant", dependsOnMethods = "publishAsTenant",
|
||||
expectedExceptions = DataPublisherConfigurationException.class)
|
||||
public void publishAsTenantWithNoMetaData() throws DataPublisherConfigurationException {
|
||||
publishAsTenant(null);
|
||||
}
|
||||
|
||||
@Test(description = "Publish the with empty meta data as tenant", dependsOnMethods = "publishAsTenant",
|
||||
expectedExceptions = DataPublisherConfigurationException.class)
|
||||
public void publishAsTenantWithEmptyMetaData() throws DataPublisherConfigurationException {
|
||||
publishAsTenant(new Object[0]);
|
||||
}
|
||||
|
||||
private void publishAsTenant(Object[] metaData) throws DataPublisherConfigurationException {
|
||||
PrivilegedCarbonContext.startTenantFlow();
|
||||
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(TENANT_DOMAIN, true);
|
||||
try {
|
||||
boolean published = this.eventsPublisherService.publishEvent(STREAM_NAME, "1.0.0", metaData,
|
||||
getEventProps(), getEventProps());
|
||||
Assert.assertTrue(published);
|
||||
} finally {
|
||||
PrivilegedCarbonContext.endTenantFlow();
|
||||
}
|
||||
}
|
||||
|
||||
private Object[] getEventProps() {
|
||||
return new Object[]{"123"};
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!--
|
||||
* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
|
||||
* WSO2 Inc. 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..
|
||||
-->
|
||||
|
||||
<DataAgentsConfiguration>
|
||||
<Agent>
|
||||
<Name>Thrift</Name>
|
||||
<DataEndpointClass>org.wso2.carbon.databridge.agent.endpoint.thrift.ThriftDataEndpoint</DataEndpointClass>
|
||||
<TrustSore>src/test/resources/client-truststore.jks</TrustSore>
|
||||
<TrustSorePassword>wso2carbon</TrustSorePassword>
|
||||
<QueueSize>32768</QueueSize>
|
||||
<BatchSize>200</BatchSize>
|
||||
<CorePoolSize>1</CorePoolSize>
|
||||
<SocketTimeoutMS>30000</SocketTimeoutMS>
|
||||
<MaxPoolSize>1</MaxPoolSize>
|
||||
<KeepAliveTimeInPool>20</KeepAliveTimeInPool>
|
||||
<ReconnectionInterval>30</ReconnectionInterval>
|
||||
<MaxTransportPoolSize>250</MaxTransportPoolSize>
|
||||
<MaxIdleConnections>250</MaxIdleConnections>
|
||||
<EvictionTimePeriod>5500</EvictionTimePeriod>
|
||||
<MinIdleTimeInPool>5000</MinIdleTimeInPool>
|
||||
<SecureMaxTransportPoolSize>250</SecureMaxTransportPoolSize>
|
||||
<SecureMaxIdleConnections>250</SecureMaxIdleConnections>
|
||||
<SecureEvictionTimePeriod>5500</SecureEvictionTimePeriod>
|
||||
<SecureMinIdleTimeInPool>5000</SecureMinIdleTimeInPool>
|
||||
<!--<sslEnabledProtocols>TLSv1,TLSv1.1,TLSv1.2</sslEnabledProtocols>-->
|
||||
<!--<ciphers>SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</ciphers>-->
|
||||
</Agent>
|
||||
|
||||
<Agent>
|
||||
<Name>Binary</Name>
|
||||
<DataEndpointClass>org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint</DataEndpointClass>
|
||||
<TrustSore>src/test/resources/client-truststore.jks</TrustSore>
|
||||
<TrustSorePassword>wso2carbon</TrustSorePassword>
|
||||
<QueueSize>32768</QueueSize>
|
||||
<BatchSize>200</BatchSize>
|
||||
<CorePoolSize>1</CorePoolSize>
|
||||
<MaxPoolSize>1</MaxPoolSize>
|
||||
<SocketTimeoutMS>30000</SocketTimeoutMS>
|
||||
<KeepAliveTimeInPool>20</KeepAliveTimeInPool>
|
||||
<ReconnectionInterval>30</ReconnectionInterval>
|
||||
<MaxTransportPoolSize>250</MaxTransportPoolSize>
|
||||
<MaxIdleConnections>250</MaxIdleConnections>
|
||||
<EvictionTimePeriod>5500</EvictionTimePeriod>
|
||||
<MinIdleTimeInPool>5000</MinIdleTimeInPool>
|
||||
<SecureMaxTransportPoolSize>250</SecureMaxTransportPoolSize>
|
||||
<SecureMaxIdleConnections>250</SecureMaxIdleConnections>
|
||||
<SecureEvictionTimePeriod>5500</SecureEvictionTimePeriod>
|
||||
<SecureMinIdleTimeInPool>5000</SecureMinIdleTimeInPool>
|
||||
<!--<sslEnabledProtocols>TLSv1,TLSv1.1,TLSv1.2</sslEnabledProtocols>-->
|
||||
<!--<ciphers>SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</ciphers>-->
|
||||
</Agent>
|
||||
</DataAgentsConfiguration>
|
||||
|
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
~ Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. 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.
|
||||
-->
|
||||
|
||||
<AnalyticsConfig>
|
||||
<!--
|
||||
Server URL of the remote DAS/BAM/CEP server used to collect statistics. Must
|
||||
be specified in protocol://hostname:port/ format.
|
||||
|
||||
An event can also be published to multiple Receiver Groups each having 1 or more receivers. Receiver
|
||||
Groups are delimited by curly braces whereas receivers are delimited by commas.
|
||||
Ex - Multiple Receivers within a single group
|
||||
tcp://localhost:7612/,tcp://localhost:7613/,tcp://localhost:7614/
|
||||
Ex - Multiple Receiver Groups with two receivers each
|
||||
{tcp://localhost:7612/,tcp://localhost:7613},{tcp://localhost:7712/,tcp://localhost:7713/}
|
||||
-->
|
||||
<ReceiverServerUrl>tcp://localhost:7615</ReceiverServerUrl>
|
||||
<AdminUsername>testuser</AdminUsername>
|
||||
<AdminPassword>testuserpwd</AdminPassword
|
||||
</AnalyticsConfig>
|
Binary file not shown.
Loading…
Reference in new issue