|
1 | 1 | package graph
|
2 | 2 |
|
3 | 3 | // func Test_Gateways(t *testing.T) {
|
| 4 | +// const gcName = "my-gateway-class" |
| 5 | +// createListener := func( |
| 6 | +// name string, |
| 7 | +// hostname string, |
| 8 | +// port int, |
| 9 | +// protocol v1.ProtocolType, |
| 10 | +// tls *v1.GatewayTLSConfig, |
| 11 | +// ) v1.Listener { |
| 12 | +// return v1.Listener{ |
| 13 | +// Name: v1.SectionName(name), |
| 14 | +// Hostname: (*v1.Hostname)(helpers.GetPointer(hostname)), |
| 15 | +// Port: v1.PortNumber(port), //nolint:gosec // port number will not overflow int32 |
| 16 | +// Protocol: protocol, |
| 17 | +// TLS: tls, |
| 18 | +// } |
| 19 | +// } |
| 20 | + |
| 21 | +// createHTTPListener := func(name, hostname string, port int) v1.Listener { |
| 22 | +// return createListener(name, hostname, port, v1.HTTPProtocolType, nil) |
| 23 | +// } |
| 24 | +// createTCPListener := func(name, hostname string, port int) v1.Listener { |
| 25 | +// return createListener(name, hostname, port, v1.TCPProtocolType, nil) |
| 26 | +// } |
| 27 | +// createTLSListener := func(name, hostname string, port int) v1.Listener { |
| 28 | +// return createListener( |
| 29 | +// name, |
| 30 | +// hostname, |
| 31 | +// port, |
| 32 | +// v1.TLSProtocolType, |
| 33 | +// &v1.GatewayTLSConfig{Mode: helpers.GetPointer(v1.TLSModePassthrough)}, |
| 34 | +// ) |
| 35 | +// } |
| 36 | + |
| 37 | +// createHTTPSListener := func(name, hostname string, port int, tls *v1.GatewayTLSConfig) v1.Listener { |
| 38 | +// return createListener(name, hostname, port, v1.HTTPSProtocolType, tls) |
| 39 | +// } |
| 40 | + |
| 41 | +// var lastCreatedGateway *v1.Gateway |
| 42 | +// type gatewayCfg struct { |
| 43 | +// name string |
| 44 | +// ref *v1.LocalParametersReference |
| 45 | +// listeners []v1.Listener |
| 46 | +// addresses []v1.GatewayAddress |
| 47 | +// } |
| 48 | +// createGateway := func(cfg gatewayCfg) map[types.NamespacedName]*v1.Gateway { |
| 49 | +// gatewayMap := make(map[types.NamespacedName]*v1.Gateway) |
| 50 | +// lastCreatedGateway = &v1.Gateway{ |
| 51 | +// ObjectMeta: metav1.ObjectMeta{ |
| 52 | +// Name: cfg.name, |
| 53 | +// Namespace: "test", |
| 54 | +// }, |
| 55 | +// Spec: v1.GatewaySpec{ |
| 56 | +// GatewayClassName: gcName, |
| 57 | +// Listeners: cfg.listeners, |
| 58 | +// Addresses: cfg.addresses, |
| 59 | +// }, |
| 60 | +// } |
| 61 | + |
| 62 | +// if cfg.ref != nil { |
| 63 | +// lastCreatedGateway.Spec.Infrastructure = &v1.GatewayInfrastructure{ |
| 64 | +// ParametersRef: cfg.ref, |
| 65 | +// } |
| 66 | +// } |
| 67 | + |
| 68 | +// gatewayMap[types.NamespacedName{ |
| 69 | +// Namespace: lastCreatedGateway.Namespace, |
| 70 | +// Name: lastCreatedGateway.Name, |
| 71 | +// }] = lastCreatedGateway |
| 72 | +// return gatewayMap |
| 73 | +// } |
| 74 | + |
| 75 | +// getLastCreatedGateway := func() *v1.Gateway { |
| 76 | +// return lastCreatedGateway |
| 77 | +// } |
| 78 | + |
| 79 | +// validGwNp := &ngfAPIv1alpha2.NginxProxy{ |
| 80 | +// ObjectMeta: metav1.ObjectMeta{ |
| 81 | +// Namespace: "test", |
| 82 | +// Name: "valid-gw-np", |
| 83 | +// }, |
| 84 | +// Spec: ngfAPIv1alpha2.NginxProxySpec{ |
| 85 | +// Logging: &ngfAPIv1alpha2.NginxLogging{ErrorLevel: helpers.GetPointer(ngfAPIv1alpha2.NginxLogLevelError)}, |
| 86 | +// }, |
| 87 | +// } |
| 88 | + |
| 89 | +// validGC := &GatewayClass{ |
| 90 | +// Valid: true, |
| 91 | +// } |
| 92 | + |
| 93 | +// gatewayTLSConfigDiffNs := &v1.GatewayTLSConfig{ |
| 94 | +// Mode: helpers.GetPointer(v1.TLSModeTerminate), |
| 95 | +// CertificateRefs: []v1.SecretObjectReference{ |
| 96 | +// { |
| 97 | +// Kind: helpers.GetPointer[v1.Kind]("Secret"), |
| 98 | +// Name: v1.ObjectName(secretDiffNamespace.Name), |
| 99 | +// Namespace: (*v1.Namespace)(&secretDiffNamespace.Namespace), |
| 100 | +// }, |
| 101 | +// }, |
| 102 | +// } |
| 103 | + |
| 104 | +// secretDiffNamespace := &apiv1.Secret{ |
| 105 | +// ObjectMeta: metav1.ObjectMeta{ |
| 106 | +// Namespace: "diff-ns", |
| 107 | +// Name: "secret", |
| 108 | +// }, |
| 109 | +// Data: map[string][]byte{ |
| 110 | +// apiv1.TLSCertKey: cert, |
| 111 | +// apiv1.TLSPrivateKeyKey: key, |
| 112 | +// }, |
| 113 | +// Type: apiv1.SecretTypeTLS, |
| 114 | +// } |
4 | 115 | // }
|
0 commit comments