48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			V
		
	
	
import net.http
 | 
						|
 | 
						|
fn test_http_get() {
 | 
						|
	$if !network ? { return }
 | 
						|
	assert http.get_text('https://vlang.io/version') == '0.1.5'
 | 
						|
	println('http ok')
 | 
						|
}
 | 
						|
 | 
						|
fn test_http_get_from_vlang_utc_now() {
 | 
						|
	$if !network ? { return }
 | 
						|
	urls := ['http://vlang.io/utc_now', 'https://vlang.io/utc_now']
 | 
						|
	for url in urls {
 | 
						|
		println('Test getting current time from $url by http.get')
 | 
						|
		res := http.get(url) or { panic(err) }
 | 
						|
		assert 200 == res.status_code
 | 
						|
		assert res.text.len > 0
 | 
						|
		assert res.text.int() > 1566403696
 | 
						|
		println('Current time is: ${res.text.int()}')
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
fn test_public_servers() {
 | 
						|
	$if !network ? { return }
 | 
						|
	urls := [
 | 
						|
		'http://github.com/robots.txt',
 | 
						|
		'http://google.com/robots.txt',
 | 
						|
		'http://yahoo.com/robots.txt',
 | 
						|
		'https://github.com/robots.txt',
 | 
						|
		'https://google.com/robots.txt',
 | 
						|
		'https://yahoo.com/robots.txt',
 | 
						|
	]
 | 
						|
	for url in urls {
 | 
						|
		println('Testing http.get on public url: $url ')
 | 
						|
		res :=  http.get( url ) or { panic(err) }
 | 
						|
		assert 200 == res.status_code
 | 
						|
		assert res.text.len > 0
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
fn test_relative_redirects() {
 | 
						|
	$if !network ? { return }
 | 
						|
	res := http.get('https://httpbin.org/relative-redirect/3?abc=xyz') or { panic(err) }
 | 
						|
	assert 200 == res.status_code
 | 
						|
	assert res.text.len > 0
 | 
						|
	assert res.text.contains('"abc": "xyz"')
 | 
						|
}
 | 
						|
 |