* tests, support for dict & httpresp
* support for returning list
* added support for int, double
* bool support, unit tests
---------
Co-authored-by: Victoria Hall <victoria.hall@microsoft.com>
* allow nill data for generic bindings
* tests
* lint
* added comment
* compatible with generic implicit output
* removed if cond
* revert return none supp
* added back support for returning None
* e2e test with generic bind and return none
---------
Co-authored-by: Varad Meru <vrdmr@users.noreply.github.com>
Co-authored-by: gavin-aguiar <80794152+gavin-aguiar@users.noreply.github.com>
Co-authored-by: Victoria Hall <victoria.hall@microsoft.com>
* sdk working prototype
* misc
* new registry pseudo
* prototype changes
* weird dispatcher changes
* almost works
* working prototype!!
* reset flag
* support for mix & match in same func
* added pytype to decode()
* caching
* added tests
* revert later
* lint, clean up, templates
* reorder
* reorder again
* test pypi problems
* correct dir
* checking tests
* 404s
* investigating 500s
* no cache
* debugging
* more helpful debugging
* check raw bindings
* runtime error
* runtime error logging attempt
* local logger
* sys modules
* typo
* extensions version
* testing changes -- revert later
* added host logs
* spacing?
* debugging changes
* Moved dateutil to install_requires (#1443)
* Moved dateutil to install_requires
* Flake8 fixes
* Update Python Worker Version to 4.26.0
* net8 target framework
* stdout is not none
* tests pass locally
* updating extension versions
* temp table test fix
* table and eventhub test fix
* all blob tests
* merge with dev
* no importlib
* specific tests only for deferred bindings
* removed -e
* syntax
* ignore test, add back in cache
* revert eh and table tests
* blob extension resources
* >=3.9 support + test fixes
* lint
* removed testing changes
* lint again
* unit tests fix
* append to list
* fixes + tests
* reset flag, extra test
* revert meta changes, tests passing locally
* fixed tests
* fix unit test, import by default
* revert default import, meta refactoring
* fixed meta refactor
* added tests for helpers
* type syntax
* fixed tests
* actually fixed tests
* update base ext supported python version
* fixing unit test timeouts?
* setup.py too
* installing from .[deferred-bindings]
* update base ext supported python version again
* update var name in setup.py
* update var name in meta
* refactor tests into sep folder
* lint + install only .NET6
* remove script
* edit workflow
* import by default, misc fixes
* revert, only changed var name
* get_binding check
* revert get_binding check, import by default
* lint
* rename, replace None checks, comments
* fixed flag placement
* attribute error + lint
* fixed unit tests
* yml bug/feature reports
* moving flag set out of get_binding
* lint + 100
* add registry none check
* lint
* move check
* revert error raise
* changed order
* revert flag set
* loader registry none check
* adding back in checks
* reports & workflow feedback
* permissions + consumption
* feedback
* setup.py
* db test csproj
* remove 3.12
* combined db & e2e test workflow
* fixed consumption workflow
* fixed 3.7 tests
* skip all tests
* renamed registries as constants
* add flag as part of FunctionInfo + tests
* lint
* added logs (fails until new base)
* lint + base update
* changing bind_name (fails until exts)
* Revert "changing bind_name (fails until exts)"
This reverts commit 7971498bea.
* is_db property added to PTI
* fixed test
* quick log
* better log
* lint
* refactor FI + pin pip
* return cache val immediately
* install .[test-db] only for >=3.9
* fixing installation
* fixing installation pt2
* fixing installation pt3
* sep step for installations
* sep step for installations pt2
* closed if + semicolon
* updated refs to base
* updated refs to blob (rerun later)
* update setup.py
* remove import try/catch
* log bug fix
* unit tests
* pin pip
* log if base not found
* log delimiters
* removed f strings
* lint + feedback
* pydocs + default val
* get_raw_bindings method
* var names + docs
---------
Co-authored-by: gavin-aguiar <80794152+gavin-aguiar@users.noreply.github.com>
Co-authored-by: AzureFunctionsPython <funcdisc@microsoft.com>
Co-authored-by: Victoria Hall <victoria.hall@microsoft.com>
Co-authored-by: wangbill <12449837+YunchuWang@users.noreply.github.com>
* enabled implicit output for generic bindings
* should only fail durable tests?
* special case for table
* extra test for table
* special case for logic apps
* special case for durable
* fixing failing eventhub batch test
* added output binding
* flake
* eventhub output binding
* flake
* changed param name
* add_function prio explicit return type
* added tests
* added V2 test
* remove if cond for durable client
* lint
* Revert "remove if cond for durable client"
---------
Co-authored-by: peterstone2017 <12449837+YunchuWang@users.noreply.github.com>
* Retry policies
* Additional changes for retry policy
* Added retry policy support for v2 function
* Minor updates and added e2e tests
* Reverted change to worker config
* Added e2e tests
* Updated according to new libary
* Added tests
* Fixed existing tests
* Added unit tests
* Updated time format
* Updated time format
---------
Co-authored-by: Gavin Aguiar <gavin@GavinPC>
* Add local thread storage to Context
* Add user threading testing folders
* Add E2E tests for thread and tpe
* Change threading.local() property name
* Define E2E tests
* Change type hint
* Change typehint to be consistent with the other uses
* Add async E2E tests
* Fix line too long error
* Fix thread test cases
* Fix tests naming and style
---------
Co-authored-by: evanroman <evanroman@microsoft.com>
Co-authored-by: gavin-aguiar <80794152+gavin-aguiar@users.noreply.github.com>
Co-authored-by: pdthummar <101662222+pdthummar@users.noreply.github.com>
* initial add cookies attempt
* exclude workindexing proto api from this pr
* Add parsing and nullable tests
* initial add cookies attempt
* exclude workindexing proto api from this pr
* delete random test
* update multi-ccokie tests;add pystein tests
* change to self.assertEqual
* fix flakey8
* fix flakey8
* make dateutil install required
* skip setting multi cookie headers test for py 3.7
* skip 3.7 multi cookie tests
* skip linux consumption tests until dateutil goes in
* flakey8 fix
* update cookie tests
* fix test
Co-authored-by: peterstone2017 <yunchuwang5@gmail.com>
* Setting up dev as V4 branch for PyWorker
* Installing Dotnet 6 for AzurePipelines and GH Actions
* Disabling SharedMem tests from Mac, and disabling shm when disabled.
* Logging stdout errors, and adding proc kill for lingering processes
* Updating extension version in csproj
* Enable SharedMemory for Tests
* Adding extensionBundle info to host.json template
* Adding extension.csproj file for correctly loading extensions.dll
* Tweaking csproj for e2e tests
* Reintroducing Trace Logging
* Adding some sleep time
* Solving the timestamp timezone awareness issue
* Fixing UTs and E2E tests, setup.py changes, and v4 pipeline changes
* Formatting and Typo changes
* Refactoring azure.pipelines.yml file.
* Separate field in the message to close shared memory maps which indicate if the maps should be deleted or just the reference should be dropped
* Check for function data cache capability from host
* Update azure_functions_worker/bindings/meta.py
* Addressing comments for cleaning up shared memory usage checks in meta.py
* Basic structure laid out for reading parameters from shared memory before passing to the function
* Writing output from worker to Shared Memory
* Put output from worker into Shared Memory
* Free shared memory resources after use
* Removed control flag from mmap header
* Proto change
* Working for blob shared memory data transfer; needs clean up, comments and tests
* Changing message for closing mmaps
* Support for string datatype for shared memory data transfer
* Change to oneof
* Use oneof in .proto
* Refactoring mmap_handler
* Refactoring, cleaning up and adding docstrings
* Updating CloseSharedMemoryResourcesResponse usage
* Fixing accidental changes to tests/*
* Addressing comments
* Basic structure laid out for reading parameters from shared memory before passing to the function
* Writing output from worker to Shared Memory
* Put output from worker into Shared Memory
* Free shared memory resources after use
* Removed control flag from mmap header
* Proto change
* Working for blob shared memory data transfer; needs clean up, comments and tests
* Changing message for closing mmaps
* Support for string datatype for shared memory data transfer
* Change to oneof
* Refactoring mmap_handler
* Refactoring, cleaning up and adding docstrings
* Updating CloseSharedMemoryResourcesResponse usage
* Fixing accidental changes to tests/*
* Addressing comments
* Cleaning up, addressing comments
* Following same class structure as the shared memory changes made for the host
* Moving shared memory data transfer related changes into separate directory
* Input error checks for shared memory map ctor
* Rebase fix
* Trying to make lint happy
* Making flake8 happy
* Fixing more lint issues
* Removing the use of __annotations__ to be compatible with Python 3.6, adding FileAccessor tests
* Added tests for FileAccessor, SharedMemoryMap, FileAccessorFactory
* Adding shared memory test setup for Unix
* Adding tests for SharedMemoryManager
* Adding tests to ensure the dispatcher can invoke the function and send/receive inputs over shared memory using a mock host
* More tests for worker/dispatcher's use of shared memory
* Using truncate instead of writing 0x00 byte manually upon creating mmap. More tests for multiple input/output blobs.
* Addressing comments
* Adding missing tests and doc strings for tests and their classes
* assertEqual -> assertTrue in test_dispose_without_delete_file
* Tried with blob trigger function - removed TODO
* Addressing comments
* Minor const fix
* Addressing comments
* Fixed test - removed unused test functions
* Addressing comments; caching list of valid directories for later use instead of checking every time
* Whitespace fix
* Cleanup
* Adding AppSetting to override shared memory directory for Unix - test setup for macOS
* Logging subprocess result in Exception
* Changed Exception -> IOError
* Check shared memory directory AppSetting only for Darwin tests
* Fix test cleanup for Darwin
* Only split AppSetting list of directories if the AppSetting was found
* Fix consts.UNIX_TEMP_DIRS
* Typo fix
* Adding throughput tests for blob input/output using shared memory
* Changing branch hardcode to instead use current branch
* Creating tests URL from current branch name
* Whitespace fixes
* Using tests from local dir
* Removing the need to use a URL for tests; just use from local directory
* Rename env variable to follow convention from host of using FUNCTIONS_
* Addressing comments
* Fixes for running tests on macOS
* Log which allowed directories for shared memory are being used
* Change assert -> raise
Co-authored-by: Hanzhang Zeng <48038149+Hazhzeng@users.noreply.github.com>
* Fix syntax issue in azure-pipelinesyml
Fix an error in the elif statement
Fix an issue in nuspec_path variable reference
* Establish python_value and python_type contract with azure.functions.meta.Datum
* Add e2e test for eventhub generating by azure-eventhub library
* Remove unused datetime library
* Add batch trigger tests
* Replace eventhub using async interfaces
* Python 3.6 and 3.7 not support datetime.fromisostring
* EventHub timestamp is timezone aware
* Fix setup.py
* Add comments in EventHub trigger E2E tests
* Use docstring instead
* Added durable functions support by loosing return type checking
* bindings meta
* Revert "bindings meta"
This reverts commit e5e923d281.
* Revert "Revert "bindings meta""
This reverts commit 7196a903d2.
* We should fall back into builtin azure.functions
* Set correlation id in context
* Modified context being passed from host.
* Updated parameters
* Testing build. (This will be reverted).
* Unit test failure.
* code quality unit test failure.
* Code quality unit test.
* Indentation fix
* Updated DOTNET_VERSION and runtime version.
* Modified test and addressed code review comments
* Updated test
* Testing
* Modified test
* removed space
* New line at end of file