mirror of
				https://github.com/cloudreve/cloudreve.git
				synced 2025-10-31 00:27:31 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package aria2
 | |
| 
 | |
| import (
 | |
| 	"github.com/HFO4/cloudreve/pkg/aria2/rpc"
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestNotifier_Notify(t *testing.T) {
 | |
| 	asserts := assert.New(t)
 | |
| 	notifier2 := &Notifier{}
 | |
| 	notifyChan := make(chan StatusEvent, 10)
 | |
| 	notifier2.Subscribe(notifyChan, "1")
 | |
| 
 | |
| 	// 未订阅
 | |
| 	{
 | |
| 		notifier2.Notify([]rpc.Event{rpc.Event{Gid: ""}}, 1)
 | |
| 		asserts.Len(notifyChan, 0)
 | |
| 	}
 | |
| 
 | |
| 	// 订阅
 | |
| 	{
 | |
| 		notifier2.Notify([]rpc.Event{{Gid: "1"}}, 1)
 | |
| 		asserts.Len(notifyChan, 1)
 | |
| 		<-notifyChan
 | |
| 
 | |
| 		notifier2.OnBtDownloadComplete([]rpc.Event{{Gid: "1"}})
 | |
| 		asserts.Len(notifyChan, 1)
 | |
| 		<-notifyChan
 | |
| 
 | |
| 		notifier2.OnDownloadStart([]rpc.Event{{Gid: "1"}})
 | |
| 		asserts.Len(notifyChan, 1)
 | |
| 		<-notifyChan
 | |
| 
 | |
| 		notifier2.OnDownloadPause([]rpc.Event{{Gid: "1"}})
 | |
| 		asserts.Len(notifyChan, 1)
 | |
| 		<-notifyChan
 | |
| 
 | |
| 		notifier2.OnDownloadStop([]rpc.Event{{Gid: "1"}})
 | |
| 		asserts.Len(notifyChan, 1)
 | |
| 		<-notifyChan
 | |
| 
 | |
| 		notifier2.OnDownloadComplete([]rpc.Event{{Gid: "1"}})
 | |
| 		asserts.Len(notifyChan, 1)
 | |
| 		<-notifyChan
 | |
| 
 | |
| 		notifier2.OnDownloadError([]rpc.Event{{Gid: "1"}})
 | |
| 		asserts.Len(notifyChan, 1)
 | |
| 		<-notifyChan
 | |
| 	}
 | |
| }
 | 
