This repository has been archived on 2024-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
adlin/token-validator/ip_test.go

54 lines
1.3 KiB
Go

package main
import (
"log"
"net"
"testing"
"git.nemunai.re/srs/adlin/libadlin"
)
func TestIPSuffix(t *testing.T) {
network := net.IPNet{IP: net.ParseIP("172.23.0.0"), Mask: net.CIDRMask(17, 32)}
std := &adlin.Student{Id: 1}
ip := IPSuffix(std, network)
log.Println(ip)
if ip.String() != "172.23.0.11" {
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.0.11")
}
std = &adlin.Student{Id: 60}
ip = IPSuffix(std, network)
if ip.String() != "172.23.0.247" {
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.0.247")
}
std = &adlin.Student{Id: 62}
ip = IPSuffix(std, network)
if ip.String() != "172.23.1.1" {
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.1.1")
}
std = &adlin.Student{Id: 70}
ip = IPSuffix(std, network)
if ip.String() != "172.23.1.33" {
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "172.23.1.33")
}
// Other network
network = net.IPNet{IP: net.ParseIP("192.168.42.0"), Mask: net.CIDRMask(17, 32)}
std = &adlin.Student{Id: 70}
ip = IPSuffix(std, network)
if ip.String() != "192.168.43.33" {
t.Fatalf(`IPSuffix(%v, %q) = %q, expected %q`, std, network.String(), ip.String(), "192.168.43.33")
}
}