From 3c72558ef0ca95c77b88b87fac37919e3a871dec Mon Sep 17 00:00:00 2001 From: Kevin Amado Date: Sat, 22 Feb 2020 15:45:16 -0500 Subject: [PATCH] pythonPackages.fluidasserts: 20.1.33141 -> 20.2.30165 - Release entirely the version pinning, the active development of the package makes it be compatible with the latest dependency versions - Added more tests, and missing packages --- .../python-modules/fluidasserts/default.nix | 82 +++++++++++++------ 1 file changed, 58 insertions(+), 24 deletions(-) diff --git a/pkgs/development/python-modules/fluidasserts/default.nix b/pkgs/development/python-modules/fluidasserts/default.nix index f1f5397c0a8..7275199fca4 100644 --- a/pkgs/development/python-modules/fluidasserts/default.nix +++ b/pkgs/development/python-modules/fluidasserts/default.nix @@ -7,17 +7,16 @@ , aiohttp , androguard , azure-identity -, azure-keyvault-keys -, azure-keyvault-secrets +, azure-keyvault , azure-mgmt-compute , azure-mgmt-keyvault , azure-mgmt-network , azure-mgmt-resource , azure-mgmt-security , azure-mgmt-storage +, azure-mgmt-sql , azure-mgmt-web -, azure-storage-file -, azure-storage-file-share +, azure-storage , bandit , bcrypt , beautifulsoup4 @@ -45,11 +44,14 @@ , pyhcl , pyjks , pynacl +, pyodbc , pyopenssl , pypdf2 , pysmb +, pytesseract , python_magic , pytz +, pywinrm , requirements-detector , selenium , tlslite-ng @@ -57,35 +59,30 @@ # pythonPackages to test the derivation , pytest +, flask +, flask-httpauth +, docker }: buildPythonPackage rec { pname = "fluidasserts"; - version = "20.1.33141"; + version = "20.2.30165"; disabled = !isPy37; src = fetchPypi { inherit pname version; - extension = "zip"; - sha256 = "01l6yb3r19q8b4kwqkrzn7mpfsr65zsgzax2fbs43hb6pq6vavnx"; + sha256 = "0wcplzfx89d3c6hvdgag860sl3infqmymy6ly6y6ah77pkc98x15"; }; patchPhase = '' - # Version mismatches between current FluidAsserts and Nixpkgs - substituteInPlace ./setup.py \ - --replace 'tlslite-ng==0.8.0-alpha36' 'tlslite-ng==0.7.5' \ - --replace 'boto3==1.11.7' 'boto3==1.10.1' \ - --replace 'typed-ast==1.4.1' 'typed-ast==1.4.0' \ - --replace 'pillow==7.0.0' 'pillow==6.2.1' \ + # Release packages from their hard pinned versions + sed -i -E "s/(.*)==.*/\1/g" requirements.txt # Functionality that will be not present for the momment # but that we'll work to add in the future # Just a minimal portion of fluidasserts use this - substituteInPlace ./setup.py \ - --replace "'pymssql==2.1.4'," "" \ - --replace "'pytesseract==0.3.1'," "" \ - --replace "'pywinrm==0.4.1'," "" \ - --replace "'mitmproxy==5.0.1'," "" \ + substituteInPlace ./requirements.txt \ + --replace "mitmproxy" "" \ ''; @@ -94,17 +91,16 @@ buildPythonPackage rec { aiohttp androguard azure-identity - azure-keyvault-keys - azure-keyvault-secrets + azure-keyvault azure-mgmt-compute azure-mgmt-keyvault azure-mgmt-network azure-mgmt-resource azure-mgmt-security azure-mgmt-storage + azure-mgmt-sql azure-mgmt-web - azure-storage-file - azure-storage-file-share + azure-storage bandit bcrypt beautifulsoup4 @@ -132,28 +128,67 @@ buildPythonPackage rec { pyhcl pyjks pynacl + pyodbc pyopenssl pypdf2 pysmb + pytesseract python_magic pytz + pywinrm requirements-detector selenium tlslite-ng viewstate ]; + configurePhase = '' + mkdir -p build/config + touch build/config/README.rst + ''; + checkInputs = [ + docker + flask + flask-httpauth pytest ]; checkPhase = '' + # This tests require BWAPP Docker Container + sed -ie 's/test_a[0-9]//g' ./test/test_proto_http_open.py + sed -ie 's/test_a[0-9]//g' ./test/test_proto_http_close.py + + # This tests require network connectivity + sed -ie 's/test_is_date_unsyncd//g' ./test/test_proto_http_open.py + sed -ie 's/test_is_date_unsyncd//g' ./test/test_proto_http_close.py + + # Remove impurities + substituteInPlace ./test/conftest.py \ + --replace "import wait" "" \ + --replace "if not os.path.exists(name):" "if os.path.exists(name):" \ + --replace "from test.mock import graphql_server" "" \ + --replace "(graphql_server.start, 'MockGraphQLServer', ['proto_graphql'])," "" \ + + pytest --asserts-module 'iot' \ + test/test_iot_phone.py + + pytest --asserts-module 'ot' \ + test/test_ot_powerlogic.py + + pytest --asserts-module 'proto_http' \ + test/test_proto_{http_close,http_open}.py + + pytest --asserts-module 'proto_rest' \ + test/test_proto_rest.py + # This file launches mock docker containers and servers # let's remove it to create a custom test environment rm test/conftest.py pytest \ - test/test_cloud_aws_terraform_{ebs,ec2}.py \ + test/test_cloud_aws_terraform_{cloudfront,dynamodb,ebs,ec2,elb}.py \ + test/test_cloud_aws_terraform_{fsx,iam,kms,rds,s3}.py \ test/test_cloud_aws_cloudformation_{cloudfront,dynamodb,ec2,elb,elb2}.py \ test/test_cloud_aws_cloudformation_{fsx,iam,kms,rds,s3,secretsmanager}.py \ test/test_format_{apk,jks,jwt,pdf,pkcs12,string}.py \ @@ -161,7 +196,6 @@ buildPythonPackage rec { test/test_lang_{javascript,java}.py \ test/test_lang_{core,csharp,docker,dotnetconfig,html,php,python,rpgle}.py \ test/test_utils_generic.py - ''; meta = with lib; {