about summary refs log tree commit diff
path: root/pkgs/tools/networking/openapi-generator-cli/example.nix
blob: f59173b9744a7586458cab85ba9a18cf9aa2c82f (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
{ openapi-generator-cli, fetchurl, runCommand }:

runCommand "openapi-generator-cli-test" {
  nativeBuildInputs = [ openapi-generator-cli ];
  petstore = fetchurl {
    url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/14c0908becbccd78252be49bd92be8c53cd2b9e3/examples/v3.0/petstore.yaml";
    sha256 = "sha256:1mgdbzv42alv0b1a18dqbabqyvyhrg3brynr5hqsrm3qljfzaq5b";
  };
  config = builtins.toJSON {
    elmVersion = "0.19";
    elmPrefixCustomTypeVariants = false;
  };
  passAsFile = [ "config" ];
} ''
  openapi-generator-cli generate \
    --input-spec $petstore \
    --enable-post-process-file \
    --generator-name elm \
    --config "$config" \
    --additional-properties elmEnableCustomBasePaths=true \
    --output "$out" \
    ;
  find $out
  echo >&2 'Looking for some keywords'
  set -x
  grep 'module Api.Request.Pets' $out/src/Api/Request/Pets.elm
  grep 'createPets' $out/src/Api/Request/Pets.elm
  grep '"limit"' $out/src/Api/Request/Pets.elm
  set +x
  echo "Looks OK!"
''