mirror of
				https://github.com/thib8956/nginx-proxy
				synced 2025-11-03 18:49:20 +00:00 
			
		
		
		
	tests: standardize file structure & naming
This commit is contained in:
		@@ -1 +0,0 @@
 | 
			
		||||
This directory contains tests that showcase scenarios known to break the expected behavior of nginx-proxy.
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
"""
 | 
			
		||||
Test that nginx-proxy-tester can build successfully
 | 
			
		||||
"""
 | 
			
		||||
import pathlib
 | 
			
		||||
import re
 | 
			
		||||
import os
 | 
			
		||||
 | 
			
		||||
import docker
 | 
			
		||||
import pytest
 | 
			
		||||
@@ -13,12 +13,13 @@ client = docker.from_env()
 | 
			
		||||
@pytest.fixture(scope = "session")
 | 
			
		||||
def docker_build(request):
 | 
			
		||||
    # Define Dockerfile path
 | 
			
		||||
    dockerfile_path = os.path.join(os.path.dirname(__file__), "requirements/")
 | 
			
		||||
    current_file_path = pathlib.Path(__file__)
 | 
			
		||||
    dockerfile_path = current_file_path.parent.parent.joinpath("requirements")
 | 
			
		||||
    dockerfile_name = "Dockerfile-nginx-proxy-tester"
 | 
			
		||||
 | 
			
		||||
    # Build the Docker image
 | 
			
		||||
    image, logs = client.images.build(
 | 
			
		||||
        path = dockerfile_path,
 | 
			
		||||
        path = dockerfile_path.as_posix(),
 | 
			
		||||
        dockerfile = dockerfile_name,
 | 
			
		||||
        rm = True,  # Remove intermediate containers
 | 
			
		||||
        tag = "nginx-proxy-tester-ci",  # Tag for the built image
 | 
			
		||||
@@ -22,7 +22,7 @@ def web1(docker_compose):
 | 
			
		||||
        },
 | 
			
		||||
        ports={"81/tcp": None}
 | 
			
		||||
    )
 | 
			
		||||
    docker_compose.networks.get("test_default").connect(container)
 | 
			
		||||
    docker_compose.networks.get("test_events-net").connect(container)
 | 
			
		||||
    sleep(2)  # give it some time to initialize and for docker-gen to detect it
 | 
			
		||||
    yield container
 | 
			
		||||
    try:
 | 
			
		||||
@@ -47,7 +47,7 @@ def web2(docker_compose):
 | 
			
		||||
        },
 | 
			
		||||
        ports={"82/tcp": None}
 | 
			
		||||
    )
 | 
			
		||||
    docker_compose.networks.get("test_default").connect(container)
 | 
			
		||||
    docker_compose.networks.get("test_events-net").connect(container)
 | 
			
		||||
    sleep(2)  # give it some time to initialize and for docker-gen to detect it
 | 
			
		||||
    yield container
 | 
			
		||||
    try:
 | 
			
		||||
@@ -1,3 +1,7 @@
 | 
			
		||||
networks:
 | 
			
		||||
  default:
 | 
			
		||||
    name: test_events-net
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  nginxproxy:
 | 
			
		||||
    image: nginxproxy/nginx-proxy:test
 | 
			
		||||
@@ -1,16 +1,16 @@
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_loadbalance_hash(docker_compose, nginxproxy):
 | 
			
		||||
    conf = nginxproxy.get_conf().decode('ASCII')
 | 
			
		||||
    r1 = nginxproxy.get("http://loadbalance-enabled.nginx-proxy.tld")
 | 
			
		||||
    r2 = nginxproxy.get("http://loadbalance-enabled.nginx-proxy.tld")
 | 
			
		||||
    assert re.search(r"hash \$remote_addr\;", conf)
 | 
			
		||||
    assert r1.status_code == 200
 | 
			
		||||
    assert r2.text == r1.text
 | 
			
		||||
 | 
			
		||||
def test_loadbalance_roundrobin(docker_compose, nginxproxy):
 | 
			
		||||
    r1 = nginxproxy.get("http://loadbalance-disabled.nginx-proxy.tld")
 | 
			
		||||
    r2 = nginxproxy.get("http://loadbalance-disabled.nginx-proxy.tld")
 | 
			
		||||
    assert r1.status_code == 200
 | 
			
		||||
    assert r2.text != r1.text
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_loadbalance_hash(docker_compose, nginxproxy):
 | 
			
		||||
    conf = nginxproxy.get_conf().decode('ASCII')
 | 
			
		||||
    r1 = nginxproxy.get("http://loadbalance-enabled.nginx-proxy.tld")
 | 
			
		||||
    r2 = nginxproxy.get("http://loadbalance-enabled.nginx-proxy.tld")
 | 
			
		||||
    assert re.search(r"hash \$remote_addr\;", conf)
 | 
			
		||||
    assert r1.status_code == 200
 | 
			
		||||
    assert r2.text == r1.text
 | 
			
		||||
 | 
			
		||||
def test_loadbalance_roundrobin(docker_compose, nginxproxy):
 | 
			
		||||
    r1 = nginxproxy.get("http://loadbalance-disabled.nginx-proxy.tld")
 | 
			
		||||
    r2 = nginxproxy.get("http://loadbalance-disabled.nginx-proxy.tld")
 | 
			
		||||
    assert r1.status_code == 200
 | 
			
		||||
    assert r2.text != r1.text
 | 
			
		||||
@@ -1,27 +1,27 @@
 | 
			
		||||
services:
 | 
			
		||||
  loadbalance-hash:
 | 
			
		||||
    image: web
 | 
			
		||||
    expose:
 | 
			
		||||
      - "81"
 | 
			
		||||
    environment:
 | 
			
		||||
      WEB_PORTS: 81
 | 
			
		||||
      VIRTUAL_HOST: loadbalance-enabled.nginx-proxy.tld
 | 
			
		||||
    labels:
 | 
			
		||||
      com.github.nginx-proxy.nginx-proxy.loadbalance: "hash $$remote_addr;"
 | 
			
		||||
    deploy:
 | 
			
		||||
      replicas: 2
 | 
			
		||||
 | 
			
		||||
  loadbalance-roundrobin:
 | 
			
		||||
    image: web
 | 
			
		||||
    expose:
 | 
			
		||||
      - "82"
 | 
			
		||||
    environment:
 | 
			
		||||
      WEB_PORTS: 82
 | 
			
		||||
      VIRTUAL_HOST: loadbalance-disabled.nginx-proxy.tld
 | 
			
		||||
    deploy:
 | 
			
		||||
      replicas: 2
 | 
			
		||||
 | 
			
		||||
  sut:
 | 
			
		||||
    image: nginxproxy/nginx-proxy:test
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /var/run/docker.sock:/tmp/docker.sock:ro
 | 
			
		||||
services:
 | 
			
		||||
  loadbalance-hash:
 | 
			
		||||
    image: web
 | 
			
		||||
    expose:
 | 
			
		||||
      - "81"
 | 
			
		||||
    environment:
 | 
			
		||||
      WEB_PORTS: 81
 | 
			
		||||
      VIRTUAL_HOST: loadbalance-enabled.nginx-proxy.tld
 | 
			
		||||
    labels:
 | 
			
		||||
      com.github.nginx-proxy.nginx-proxy.loadbalance: "hash $$remote_addr;"
 | 
			
		||||
    deploy:
 | 
			
		||||
      replicas: 2
 | 
			
		||||
 | 
			
		||||
  loadbalance-roundrobin:
 | 
			
		||||
    image: web
 | 
			
		||||
    expose:
 | 
			
		||||
      - "82"
 | 
			
		||||
    environment:
 | 
			
		||||
      WEB_PORTS: 82
 | 
			
		||||
      VIRTUAL_HOST: loadbalance-disabled.nginx-proxy.tld
 | 
			
		||||
    deploy:
 | 
			
		||||
      replicas: 2
 | 
			
		||||
 | 
			
		||||
  sut:
 | 
			
		||||
    image: nginxproxy/nginx-proxy:test
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /var/run/docker.sock:/tmp/docker.sock:ro
 | 
			
		||||
@@ -3,7 +3,7 @@ services:
 | 
			
		||||
    image: nginxproxy/nginx-proxy:test
 | 
			
		||||
    volumes:
 | 
			
		||||
      - /var/run/docker.sock:/tmp/docker.sock:ro
 | 
			
		||||
      - ./test_location-override.vhost.d:/etc/nginx/vhost.d:ro
 | 
			
		||||
      - ./vhost.d:/etc/nginx/vhost.d:ro
 | 
			
		||||
 | 
			
		||||
  explicit-root:
 | 
			
		||||
    image: web
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user