github.com/cihub/seelog@v0.0.0-20170130134532-f561c5e57575/dispatch_filterdispatcher_test.go (about)

     1  // Copyright (c) 2012 - Cloud Instruments Co., Ltd.
     2  //
     3  // All rights reserved.
     4  //
     5  // Redistribution and use in source and binary forms, with or without
     6  // modification, are permitted provided that the following conditions are met:
     7  //
     8  // 1. Redistributions of source code must retain the above copyright notice, this
     9  //    list of conditions and the following disclaimer.
    10  // 2. Redistributions in binary form must reproduce the above copyright notice,
    11  //    this list of conditions and the following disclaimer in the documentation
    12  //    and/or other materials provided with the distribution.
    13  //
    14  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    15  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    16  // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    17  // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    18  // ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    19  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    20  // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    21  // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    22  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    23  // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    24  
    25  package seelog
    26  
    27  import (
    28  	"testing"
    29  )
    30  
    31  func TestfilterDispatcher_Pass(t *testing.T) {
    32  	writer, _ := newBytesVerifier(t)
    33  	filter, err := NewFilterDispatcher(onlyMessageFormatForTest, []interface{}{writer}, TraceLvl)
    34  	if err != nil {
    35  		t.Error(err)
    36  		return
    37  	}
    38  
    39  	context, err := currentContext(nil)
    40  	if err != nil {
    41  		t.Error(err)
    42  		return
    43  	}
    44  
    45  	bytes := []byte("Hello")
    46  	writer.ExpectBytes(bytes)
    47  	filter.Dispatch(string(bytes), TraceLvl, context, func(err error) {})
    48  	writer.MustNotExpect()
    49  }
    50  
    51  func TestfilterDispatcher_Deny(t *testing.T) {
    52  	writer, _ := newBytesVerifier(t)
    53  	filter, err := NewFilterDispatcher(DefaultFormatter, []interface{}{writer})
    54  	if err != nil {
    55  		t.Error(err)
    56  		return
    57  	}
    58  
    59  	context, err := currentContext(nil)
    60  	if err != nil {
    61  		t.Error(err)
    62  		return
    63  	}
    64  
    65  	bytes := []byte("Hello")
    66  	filter.Dispatch(string(bytes), TraceLvl, context, func(err error) {})
    67  }