TUN-4873: Disable unix domain socket test for windows unit tests
This commit is contained in:
parent
ed024d0741
commit
d9ec18314d
|
@ -0,0 +1,55 @@
|
||||||
|
// +build !windows
|
||||||
|
|
||||||
|
package origin
|
||||||
|
|
||||||
|
import (
|
||||||
|
"io/ioutil"
|
||||||
|
"net"
|
||||||
|
"net/http"
|
||||||
|
"net/http/httptest"
|
||||||
|
"os"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
"github.com/cloudflare/cloudflared/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestUnixSocketOrigin(t *testing.T) {
|
||||||
|
file, err := ioutil.TempFile("", "unix.sock")
|
||||||
|
require.NoError(t, err)
|
||||||
|
os.Remove(file.Name()) // remove the file since binding the socket expects to create it
|
||||||
|
|
||||||
|
l, err := net.Listen("unix", file.Name())
|
||||||
|
require.NoError(t, err)
|
||||||
|
defer l.Close()
|
||||||
|
defer os.Remove(file.Name())
|
||||||
|
|
||||||
|
api := &httptest.Server{
|
||||||
|
Listener: l,
|
||||||
|
Config: &http.Server{Handler: mockAPI{}},
|
||||||
|
}
|
||||||
|
api.Start()
|
||||||
|
defer api.Close()
|
||||||
|
|
||||||
|
unvalidatedIngress := []config.UnvalidatedIngressRule{
|
||||||
|
{
|
||||||
|
Hostname: "unix.example.com",
|
||||||
|
Service: "unix:" + file.Name(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Hostname: "*",
|
||||||
|
Service: "http_status:404",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
tests := []MultipleIngressTest{
|
||||||
|
{
|
||||||
|
url: "http://unix.example.com",
|
||||||
|
expectedStatus: http.StatusCreated,
|
||||||
|
expectedBody: []byte("Created"),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
runIngressTestScenarios(t, unvalidatedIngress, tests)
|
||||||
|
}
|
|
@ -6,11 +6,9 @@ import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"os"
|
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
@ -656,45 +654,6 @@ func TestConnections(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUnixSocketOrigin(t *testing.T) {
|
|
||||||
file, err := ioutil.TempFile("", "unix.sock")
|
|
||||||
require.NoError(t, err)
|
|
||||||
os.Remove(file.Name()) // remove the file since binding the socket expects to create it
|
|
||||||
|
|
||||||
l, err := net.Listen("unix", file.Name())
|
|
||||||
require.NoError(t, err)
|
|
||||||
defer l.Close()
|
|
||||||
defer os.Remove(file.Name())
|
|
||||||
|
|
||||||
api := &httptest.Server{
|
|
||||||
Listener: l,
|
|
||||||
Config: &http.Server{Handler: mockAPI{}},
|
|
||||||
}
|
|
||||||
api.Start()
|
|
||||||
defer api.Close()
|
|
||||||
|
|
||||||
unvalidatedIngress := []config.UnvalidatedIngressRule{
|
|
||||||
{
|
|
||||||
Hostname: "unix.example.com",
|
|
||||||
Service: "unix:" + file.Name(),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Hostname: "*",
|
|
||||||
Service: "http_status:404",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
tests := []MultipleIngressTest{
|
|
||||||
{
|
|
||||||
url: "http://unix.example.com",
|
|
||||||
expectedStatus: http.StatusCreated,
|
|
||||||
expectedBody: []byte("Created"),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
runIngressTestScenarios(t, unvalidatedIngress, tests)
|
|
||||||
}
|
|
||||||
|
|
||||||
type requestBody struct {
|
type requestBody struct {
|
||||||
pw *io.PipeWriter
|
pw *io.PipeWriter
|
||||||
pr *io.PipeReader
|
pr *io.PipeReader
|
||||||
|
|
Loading…
Reference in New Issue