about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/web/netlify-cli/test.nix
blob: 22e97e3321899cf6525a5a2def3594d7f2f45077 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
  curl,
  netlify-cli,
  runCommand,
}:

runCommand "netlify-cli-test" {
  nativeBuildInputs = [
    netlify-cli
    curl
  ];
  meta.timeout = 600;
} ''
  mkdir home
  export HOME=$PWD/home

  # Create a simple site
  echo '<h1>hi</h1>' >index.html
  echo '/with-redirect /' >_redirects

  # Start a local server and wait for it to respond
  netlify dev --offline --port 8888 2>&1 | tee log &
  sleep 0.1 || true
  for (( i=0; i<300; i++ )); do
    if grep --ignore-case 'Server now ready' <log; then
      break
    else
      sleep 1
    fi
  done

  # Test the local server
  curl -L http://localhost:8888/with-redirect | grep '<h1>hi</h1>'

  # Success
  touch $out
''