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
This commit is contained in:
Kevin Amado 2020-02-22 15:45:16 -05:00 committed by Jon
parent 638251852e
commit 3c72558ef0

View File

@ -7,17 +7,16 @@
, aiohttp , aiohttp
, androguard , androguard
, azure-identity , azure-identity
, azure-keyvault-keys , azure-keyvault
, azure-keyvault-secrets
, azure-mgmt-compute , azure-mgmt-compute
, azure-mgmt-keyvault , azure-mgmt-keyvault
, azure-mgmt-network , azure-mgmt-network
, azure-mgmt-resource , azure-mgmt-resource
, azure-mgmt-security , azure-mgmt-security
, azure-mgmt-storage , azure-mgmt-storage
, azure-mgmt-sql
, azure-mgmt-web , azure-mgmt-web
, azure-storage-file , azure-storage
, azure-storage-file-share
, bandit , bandit
, bcrypt , bcrypt
, beautifulsoup4 , beautifulsoup4
@ -45,11 +44,14 @@
, pyhcl , pyhcl
, pyjks , pyjks
, pynacl , pynacl
, pyodbc
, pyopenssl , pyopenssl
, pypdf2 , pypdf2
, pysmb , pysmb
, pytesseract
, python_magic , python_magic
, pytz , pytz
, pywinrm
, requirements-detector , requirements-detector
, selenium , selenium
, tlslite-ng , tlslite-ng
@ -57,35 +59,30 @@
# pythonPackages to test the derivation # pythonPackages to test the derivation
, pytest , pytest
, flask
, flask-httpauth
, docker
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "fluidasserts"; pname = "fluidasserts";
version = "20.1.33141"; version = "20.2.30165";
disabled = !isPy37; disabled = !isPy37;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "zip"; sha256 = "0wcplzfx89d3c6hvdgag860sl3infqmymy6ly6y6ah77pkc98x15";
sha256 = "01l6yb3r19q8b4kwqkrzn7mpfsr65zsgzax2fbs43hb6pq6vavnx";
}; };
patchPhase = '' patchPhase = ''
# Version mismatches between current FluidAsserts and Nixpkgs # Release packages from their hard pinned versions
substituteInPlace ./setup.py \ sed -i -E "s/(.*)==.*/\1/g" requirements.txt
--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' \
# Functionality that will be not present for the momment # Functionality that will be not present for the momment
# but that we'll work to add in the future # but that we'll work to add in the future
# Just a minimal portion of fluidasserts use this # Just a minimal portion of fluidasserts use this
substituteInPlace ./setup.py \ substituteInPlace ./requirements.txt \
--replace "'pymssql==2.1.4'," "" \ --replace "mitmproxy" "" \
--replace "'pytesseract==0.3.1'," "" \
--replace "'pywinrm==0.4.1'," "" \
--replace "'mitmproxy==5.0.1'," "" \
''; '';
@ -94,17 +91,16 @@ buildPythonPackage rec {
aiohttp aiohttp
androguard androguard
azure-identity azure-identity
azure-keyvault-keys azure-keyvault
azure-keyvault-secrets
azure-mgmt-compute azure-mgmt-compute
azure-mgmt-keyvault azure-mgmt-keyvault
azure-mgmt-network azure-mgmt-network
azure-mgmt-resource azure-mgmt-resource
azure-mgmt-security azure-mgmt-security
azure-mgmt-storage azure-mgmt-storage
azure-mgmt-sql
azure-mgmt-web azure-mgmt-web
azure-storage-file azure-storage
azure-storage-file-share
bandit bandit
bcrypt bcrypt
beautifulsoup4 beautifulsoup4
@ -132,28 +128,67 @@ buildPythonPackage rec {
pyhcl pyhcl
pyjks pyjks
pynacl pynacl
pyodbc
pyopenssl pyopenssl
pypdf2 pypdf2
pysmb pysmb
pytesseract
python_magic python_magic
pytz pytz
pywinrm
requirements-detector requirements-detector
selenium selenium
tlslite-ng tlslite-ng
viewstate viewstate
]; ];
configurePhase = ''
mkdir -p build/config
touch build/config/README.rst
'';
checkInputs = [ checkInputs = [
docker
flask
flask-httpauth
pytest pytest
]; ];
checkPhase = '' 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 # This file launches mock docker containers and servers
# let's remove it to create a custom test environment # let's remove it to create a custom test environment
rm test/conftest.py rm test/conftest.py
pytest \ 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_{cloudfront,dynamodb,ec2,elb,elb2}.py \
test/test_cloud_aws_cloudformation_{fsx,iam,kms,rds,s3,secretsmanager}.py \ test/test_cloud_aws_cloudformation_{fsx,iam,kms,rds,s3,secretsmanager}.py \
test/test_format_{apk,jks,jwt,pdf,pkcs12,string}.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_{javascript,java}.py \
test/test_lang_{core,csharp,docker,dotnetconfig,html,php,python,rpgle}.py \ test/test_lang_{core,csharp,docker,dotnetconfig,html,php,python,rpgle}.py \
test/test_utils_generic.py test/test_utils_generic.py
''; '';
meta = with lib; { meta = with lib; {