@@ -22,20 +22,77 @@ func Test_endpointAdapter(t *testing.T) {
2222
2323 t .Run ("generates consistent hash" , func (t * testing.T ) {
2424 adapter := & endpointAdapter {
25- vpnID : id ,
26- name : name ,
27- domainName : & domain ,
25+ vpnID : id ,
26+ name : name ,
27+ domainName : & domain ,
28+ enableHTTPS : false ,
2829 }
29- assert .Equal (t , id .String ()+ name + domain , adapter .Hash ())
30+ assert .Equal (t , id .String ()+ name + domain + "false" , adapter .Hash ())
3031 })
3132
3233 t .Run ("handles nil domain" , func (t * testing.T ) {
3334 adapter := & endpointAdapter {
34- vpnID : id ,
35- name : name ,
36- domainName : nil ,
35+ vpnID : id ,
36+ name : name ,
37+ domainName : nil ,
38+ enableHTTPS : false ,
39+ }
40+ assert .Equal (t , id .String ()+ name + "false" , adapter .Hash ())
41+ })
42+
43+ t .Run ("generates different hash when enableHTTPS changes" , func (t * testing.T ) {
44+ adapterHTTPSOn := & endpointAdapter {
45+ vpnID : id ,
46+ name : name ,
47+ domainName : & domain ,
48+ enableHTTPS : true ,
49+ }
50+ adapterHTTPSOff := & endpointAdapter {
51+ vpnID : id ,
52+ name : name ,
53+ domainName : & domain ,
54+ enableHTTPS : false ,
55+ }
56+ assert .NotEqual (t , adapterHTTPSOn .Hash (), adapterHTTPSOff .Hash ())
57+ })
58+
59+ t .Run ("generates different hash when certificate changes" , func (t * testing.T ) {
60+ certID1 := uuid .New ()
61+ certID2 := uuid .New ()
62+ adapterCert1 := & endpointAdapter {
63+ vpnID : id ,
64+ name : name ,
65+ domainName : & domain ,
66+ enableHTTPS : true ,
67+ certDetails : & certificate.Certificate {ID : certID1 },
68+ }
69+ adapterCert2 := & endpointAdapter {
70+ vpnID : id ,
71+ name : name ,
72+ domainName : & domain ,
73+ enableHTTPS : true ,
74+ certDetails : & certificate.Certificate {ID : certID2 },
75+ }
76+ assert .NotEqual (t , adapterCert1 .Hash (), adapterCert2 .Hash ())
77+ })
78+
79+ t .Run ("generates same hash when nothing changes" , func (t * testing.T ) {
80+ certID := uuid .New ()
81+ adapter1 := & endpointAdapter {
82+ vpnID : id ,
83+ name : name ,
84+ domainName : & domain ,
85+ enableHTTPS : true ,
86+ certDetails : & certificate.Certificate {ID : certID },
87+ }
88+ adapter2 := & endpointAdapter {
89+ vpnID : id ,
90+ name : name ,
91+ domainName : & domain ,
92+ enableHTTPS : true ,
93+ certDetails : & certificate.Certificate {ID : certID },
3794 }
38- assert .Equal (t , id . String () + name , adapter .Hash ())
95+ assert .Equal (t , adapter1 . Hash (), adapter2 .Hash ())
3996 })
4097 })
4198
0 commit comments