Package org.apache.niolex.notify

Source Code of org.apache.niolex.notify.NotifyTest

/**
* NotifyTest.java
*
* Copyright 2013 Niolex, Inc.
*
* Licensed 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.niolex.notify;

import static org.junit.Assert.*;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.niolex.commons.util.DateTimeUtil;
import org.apache.niolex.commons.util.SystemUtil;
import org.apache.niolex.notify.App;
import org.apache.niolex.notify.ByteArray;
import org.apache.niolex.notify.Notify;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

/**
*
* @author <a href="mailto:xiejiyun@gmail.com">Xie, Jiyun</a>
* @version 1.0.5
* @since 2013-1-5
*/
public class NotifyTest {

    private static Notify.Listener LI = new Notify.Listener() {

        @Override
        public void onPropertyChange(byte[] key, byte[] value) {
            System.out.println("=onPropertyChange Key [" + new String(key) +
                    "] Value: " + new String(value));
        }

        @Override
        public void onDataChange(byte[] data) {
            System.out.println("=====onDataChange data: " + new String(data));
        }
    };

    private static Notify NO;
    private static final App APP = AppTest.APP;

    @BeforeClass
    public static void setUp() throws IOException {
        NO = APP.getNotify("/notify/test/tmp");
        NO.addListener(LI);
        String v = "Client environment:os.name=" + SystemUtil.getSystemProperty("os.name");
        NO.replaceProperty("permkey", v);
        NO.replaceProperty("love", "lex");
        System.out.println("After --------- permkey -------------- change");
    }

    @AfterClass
    public static void shutdown() {
        boolean b = NO.removeListener(LI);
        assertTrue(b);
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#updateData(byte[])}.
     */
    @Test
    public void testUpdateData() {
        NO.updateData(("This is new data. Time: " + DateTimeUtil.formatDate2DateTimeStr()).getBytes());
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#deleteProperty(byte[])}.
     */
    @Test
    public void testDeleteProperty() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        boolean b = notify.deleteProperty("tmpkey");
        System.out.println("DeleteProperty res " + b);
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#deleteProperty(byte[])}.
     */
    @Test
    public void testDeletePropertyNotFound() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        boolean b = notify.deleteProperty("tmpkey-lex-22");
        assertFalse(b);
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#replaceProperty(byte[], byte[])}.
     */
    @Test
    public void testReplaceProperty() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        notify.replaceProperty("tmpkey".getBytes(), "Love this.".getBytes());
        System.out.println("After --------- tmpkey -------------- change");
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#onDataChange(byte[])}.
     */
    @Test
    public void testOnDataChange() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        notify.onDataChange("Not yet implemented".getBytes());
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#onChildrenChange(java.util.List)}.
     */
    @Test
    public void testOnChildrenChange() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        List<String> list = new ArrayList<String>();
        list.add("Good");
        list.add("Good Morning#");
        list.add("HXBlcm1rZXlDbGllbnQgZW52aXJvbm1lbnQ6b3MubmFtZT1XaW5kb3dzIFhQ");
        notify.onChildrenChange(list);
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#getProperty(byte[])}.
     */
    @Test
    public void testGetPropertyBytes() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        byte[] v = notify.getProperty("love".getBytes());
        assertEquals(new String(v), "lex");
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#getProperty(org.apache.niolex.notify.ByteArray)}.
     */
    @Test
    public void testGetPropertyByteArray() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        byte[] v = notify.getProperty(new ByteArray("love".getBytes()));
        assertEquals(new String(v), "lex");
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#getProperty(org.apache.niolex.notify.ByteArray)}.
     */
    @Test
    public void testGetPropertyByteArrayStr() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        String v = notify.getProperty("love");
        assertEquals(v, "lex");
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#getProperty(org.apache.niolex.notify.ByteArray)}.
     */
    @Test
    public void testGetPropertyByteArrayStrNull() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        String v = notify.getProperty("love my best");
        assertNull(v);
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#getData()}.
     */
    @Test
    public void testGetData() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        byte[] data = notify.getData();
        System.out.println("testGetData data: " + new String(data));
    }

    /**
     * Test method for {@link org.apache.niolex.notify.Notify#getProperties()}.
     */
    @Test
    public void testGetProperties() {
        Notify notify = App.instance().getNotify("/notify/test/tmp");
        System.out.println("testGetProperties data: " + notify.getProperties());
    }

}
TOP

Related Classes of org.apache.niolex.notify.NotifyTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.