github.com/sereiner/library@v0.0.0-20200518095232-1fa3e640cc5f/mq/stomp/stomp.producer_test.go (about)

     1  package stomp
     2  
     3  import "testing"
     4  import "github.com/sereiner/library/ut"
     5  import "time"
     6  
     7  var address = "192.168.0.165:61613"
     8  
     9  func TestStompProducer1(t *testing.T) {
    10  	producer, err := NewStompProducer(address)
    11  	ut.Expect(t, err, nil)
    12  	err = producer.connectOnce()
    13  	ut.Expect(t, err, nil)
    14  }
    15  
    16  func TestStompProducer2(t *testing.T) {
    17  	producer, err := NewStompProducer(address)
    18  	ut.Expect(t, err, nil)
    19  
    20  	err = producer.connectOnce()
    21  	ut.Expect(t, err, nil)
    22  
    23  	err = producer.Send("hydra_test01", "hello", time.Second*60)
    24  	ut.Expect(t, err, nil)
    25  	time.Sleep(time.Millisecond * 100)
    26  	ut.Expect(t, len(producer.backupMsg), 0)
    27  	ut.Expect(t, len(producer.messages), 0)
    28  }
    29  
    30  func TestStompProducer3(t *testing.T) {
    31  	addr := "192.168.0.165:61612"
    32  	producer, err := NewStompProducer(addr)
    33  	ut.Expect(t, err, nil)
    34  
    35  	err = producer.connectOnce()
    36  	ut.Refute(t, err, nil)
    37  
    38  	err = producer.Send("hydra_test01", "hello", time.Second*60)
    39  	ut.Expect(t, err, nil)
    40  	time.Sleep(time.Millisecond * 100)
    41  	ut.Expect(t, len(producer.backupMsg), 0)
    42  	ut.Expect(t, len(producer.messages), 1)
    43  
    44  	//重新连接
    45  	producer.address = address
    46  	err = producer.connectOnce()
    47  	ut.Expect(t, err, nil)
    48  	time.Sleep(time.Millisecond * 100)
    49  	ut.Expect(t, len(producer.backupMsg), 0)
    50  	ut.Expect(t, len(producer.messages), 0)
    51  }
    52  func TestStompProducer4(t *testing.T) {
    53  	producer, err := NewStompProducer(address)
    54  	ut.Expect(t, err, nil)
    55  
    56  	err = producer.connectOnce()
    57  	ut.Expect(t, err, nil)
    58  
    59  	producer.Close()
    60  	err = producer.Send("hydra_test01", "hello", time.Second*60)
    61  	ut.Refute(t, err, nil)
    62  }