diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix index 1aba61de0543..a88a807a9f97 100644 --- a/pkgs/tools/networking/openapi-generator-cli/default.nix +++ b/pkgs/tools/networking/openapi-generator-cli/default.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }: -stdenv.mkDerivation rec { +let this = stdenv.mkDerivation rec { version = "5.1.0"; pname = "openapi-generator-cli"; @@ -30,4 +30,9 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = [ maintainers.shou ]; }; -} + + passthru.tests.example = callPackage ./example.nix { + openapi-generator-cli = this; + }; +}; +in this diff --git a/pkgs/tools/networking/openapi-generator-cli/example.nix b/pkgs/tools/networking/openapi-generator-cli/example.nix new file mode 100644 index 000000000000..f59173b9744a --- /dev/null +++ b/pkgs/tools/networking/openapi-generator-cli/example.nix @@ -0,0 +1,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!" +'' diff --git a/pkgs/tools/networking/openapi-generator-cli/unstable.nix b/pkgs/tools/networking/openapi-generator-cli/unstable.nix index 1384f35a3f20..63a780951aca 100644 --- a/pkgs/tools/networking/openapi-generator-cli/unstable.nix +++ b/pkgs/tools/networking/openapi-generator-cli/unstable.nix @@ -1,6 +1,6 @@ -{ lib, stdenv, fetchurl, jre, makeWrapper }: +{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }: -stdenv.mkDerivation rec { +let this = stdenv.mkDerivation rec { version = "6.0.0-2021-01-18"; # Also update the fetchurl link pname = "openapi-generator-cli"; @@ -30,5 +30,9 @@ stdenv.mkDerivation rec { license = licenses.asl20; maintainers = [ maintainers.shou ]; }; -} + passthru.tests.example = callPackage ./example.nix { + openapi-generator-cli = this; + }; +}; +in this