* nettests/groups.go: remove redundant struct names * go.mod go.sum: update deps except probe-engine * Update to ooni/probe-engine@e768161f91 The API has changed. Methods that used to change bits of the session have been removed. Now the session is more immutable than before. As such, we need to completely fill the config before using it. * Set IncludeCountry to always true Co-authored-by: Arturo Filastò <arturo@filasto.net>
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package nettests
 | |
| 
 | |
| // Telegram test implementation
 | |
| type Telegram struct {
 | |
| }
 | |
| 
 | |
| // Run starts the test
 | |
| func (h Telegram) Run(ctl *Controller) error {
 | |
| 	builder, err := ctl.Session.NewExperimentBuilder(
 | |
| 		"telegram",
 | |
| 	)
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 	return ctl.Run(builder, []string{""})
 | |
| }
 | |
| 
 | |
| // TelegramTestKeys for the test
 | |
| type TelegramTestKeys struct {
 | |
| 	HTTPBlocking bool `json:"telegram_http_blocking"`
 | |
| 	TCPBlocking  bool `json:"telegram_tcp_blocking"`
 | |
| 	WebBlocking  bool `json:"telegram_web_blocking"`
 | |
| 	IsAnomaly    bool `json:"-"`
 | |
| }
 | |
| 
 | |
| // GetTestKeys generates a summary for a test run
 | |
| func (h Telegram) GetTestKeys(tk map[string]interface{}) (interface{}, error) {
 | |
| 	var (
 | |
| 		tcpBlocking  bool
 | |
| 		httpBlocking bool
 | |
| 		webBlocking  bool
 | |
| 	)
 | |
| 
 | |
| 	if tk["telegram_tcp_blocking"] == nil {
 | |
| 		tcpBlocking = false
 | |
| 	} else {
 | |
| 		tcpBlocking = tk["telegram_tcp_blocking"].(bool)
 | |
| 	}
 | |
| 	if tk["telegram_http_blocking"] == nil {
 | |
| 		httpBlocking = false
 | |
| 	} else {
 | |
| 		httpBlocking = tk["telegram_http_blocking"].(bool)
 | |
| 	}
 | |
| 	if tk["telegram_web_status"] == nil {
 | |
| 		webBlocking = false
 | |
| 	} else {
 | |
| 		webBlocking = tk["telegram_web_status"].(string) == "blocked"
 | |
| 	}
 | |
| 
 | |
| 	return TelegramTestKeys{
 | |
| 		TCPBlocking:  tcpBlocking,
 | |
| 		HTTPBlocking: httpBlocking,
 | |
| 		WebBlocking:  webBlocking,
 | |
| 		IsAnomaly:    webBlocking || httpBlocking || tcpBlocking,
 | |
| 	}, nil
 | |
| }
 | |
| 
 | |
| // LogSummary writes the summary to the standard output
 | |
| func (h Telegram) LogSummary(s string) error {
 | |
| 	return nil
 | |
| }
 |