1 line
50 KiB
JSON
1 line
50 KiB
JSON
{"nodes": [{"id": "backend_tests_test_photo_extraction_py", "label": "test_photo_extraction.py", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L1"}, {"id": "test_photo_extraction_test_item_for_extraction", "label": "test_item_for_extraction()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L32"}, {"id": "test_photo_extraction_sample_image_bytes", "label": "sample_image_bytes()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L48"}, {"id": "test_photo_extraction_valid_crop_bounds", "label": "valid_crop_bounds()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L61"}, {"id": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "label": "test_auto_save_with_valid_crop_bounds()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L75"}, {"id": "test_photo_extraction_test_auto_save_with_rotation_degrees", "label": "test_auto_save_with_rotation_degrees()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L112"}, {"id": "test_photo_extraction_test_auto_save_with_negative_rotation", "label": "test_auto_save_with_negative_rotation()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L140"}, {"id": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_none", "label": "test_auto_save_skip_when_crop_bounds_none()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L171"}, {"id": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_missing_keys", "label": "test_auto_save_skip_when_crop_bounds_missing_keys()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L201"}, {"id": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_invalid_values", "label": "test_auto_save_skip_when_crop_bounds_invalid_values()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L226"}, {"id": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_negative_values", "label": "test_auto_save_skip_when_crop_bounds_negative_values()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L255"}, {"id": "test_photo_extraction_test_auto_save_skip_when_rotation_out_of_range", "label": "test_auto_save_skip_when_rotation_out_of_range()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L288"}, {"id": "test_photo_extraction_test_auto_save_skip_when_rotation_is_string", "label": "test_auto_save_skip_when_rotation_is_string()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L312"}, {"id": "test_photo_extraction_test_auto_save_skip_when_item_not_found", "label": "test_auto_save_skip_when_item_not_found()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L339"}, {"id": "test_photo_extraction_test_auto_save_skip_when_image_bytes_empty", "label": "test_auto_save_skip_when_image_bytes_empty()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L357"}, {"id": "test_photo_extraction_test_auto_save_skip_when_image_bytes_invalid", "label": "test_auto_save_skip_when_image_bytes_invalid()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L379"}, {"id": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "label": "test_auto_save_with_large_crop_bounds()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L405"}, {"id": "test_photo_extraction_test_auto_save_multiple_items_independent", "label": "test_auto_save_multiple_items_independent()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L445"}, {"id": "test_photo_extraction_test_auto_save_never_throws_exceptions", "label": "test_auto_save_never_throws_exceptions()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L497"}, {"id": "test_photo_extraction_test_create_item_with_image_processing_integration", "label": "test_create_item_with_image_processing_integration()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L530"}, {"id": "test_photo_extraction_test_create_item_with_invalid_image_processing", "label": "test_create_item_with_invalid_image_processing()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L580"}, {"id": "test_photo_extraction_test_create_item_without_image_processing", "label": "test_create_item_without_image_processing()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L617"}, {"id": "test_photo_extraction_test_create_item_with_image_bytes_but_no_processing", "label": "test_create_item_with_image_bytes_but_no_processing()", "file_type": "code", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L643"}, {"id": "test_photo_extraction_rationale_1", "label": "Test suite for _auto_save_photo_from_extraction helper function. Tests cover: -", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L1"}, {"id": "test_photo_extraction_rationale_33", "label": "Create a test item in the database for extraction tests.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L33"}, {"id": "test_photo_extraction_rationale_49", "label": "Create a minimal valid JPEG image for testing.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L49"}, {"id": "test_photo_extraction_rationale_62", "label": "Valid crop bounds dict.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L62"}, {"id": "test_photo_extraction_rationale_81", "label": "Test auto-save succeeds with valid crop_bounds.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L81"}, {"id": "test_photo_extraction_rationale_118", "label": "Test auto-save works with rotation_degrees.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L118"}, {"id": "test_photo_extraction_rationale_146", "label": "Test auto-save handles negative rotation degrees.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L146"}, {"id": "test_photo_extraction_rationale_176", "label": "Test graceful skip when crop_bounds is None.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L176"}, {"id": "test_photo_extraction_rationale_206", "label": "Test graceful skip when crop_bounds is missing required keys.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L206"}, {"id": "test_photo_extraction_rationale_231", "label": "Test graceful skip when crop_bounds contains non-integer values.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L231"}, {"id": "test_photo_extraction_rationale_260", "label": "Test graceful skip when crop_bounds contains negative values.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L260"}, {"id": "test_photo_extraction_rationale_294", "label": "Test graceful skip when rotation_degrees exceeds valid range.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L294"}, {"id": "test_photo_extraction_rationale_318", "label": "Test graceful skip when rotation_degrees is not numeric.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L318"}, {"id": "test_photo_extraction_rationale_344", "label": "Test graceful skip when item does not exist.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L344"}, {"id": "test_photo_extraction_rationale_362", "label": "Test graceful skip when image_bytes is empty.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L362"}, {"id": "test_photo_extraction_rationale_384", "label": "Test graceful skip when image_bytes is not a valid image.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L384"}, {"id": "test_photo_extraction_rationale_410", "label": "Test auto-save works with large crop bounds (4K image support).", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L410"}, {"id": "test_photo_extraction_rationale_449", "label": "Test auto-save handles multiple items with independent data.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L449"}, {"id": "test_photo_extraction_rationale_501", "label": "Test that helper never throws exceptions, always returns status dict.", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L501"}, {"id": "test_photo_extraction_rationale_534", "label": "Integration test: create item with extracted image \u2192 photo auto-saved with crop/", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L534"}, {"id": "test_photo_extraction_rationale_584", "label": "Integration test: Item created even if image_processing is invalid, photo skippe", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L584"}, {"id": "test_photo_extraction_rationale_620", "label": "Integration test: Backward compatibility - old clients without image_processing", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L620"}, {"id": "test_photo_extraction_rationale_647", "label": "Integration test: Image bytes without image_processing \u2192 item created, photo not", "file_type": "rationale", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L647"}], "edges": [{"source": "backend_tests_test_photo_extraction_py", "target": "io", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L14", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "json", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L15", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "datetime", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L16", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "pathlib", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L17", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "unittest_mock", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L18", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "pytest", "relation": "imports", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L19", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "fastapi_testclient", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L20", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "sqlalchemy_orm", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L21", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "backend", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L23", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "backend_routers_items", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L24", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_item_for_extraction", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L32", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_sample_image_bytes", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L48", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_valid_crop_bounds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L61", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L75", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_with_rotation_degrees", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L112", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_with_negative_rotation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L140", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_none", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L171", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_missing_keys", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L201", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_invalid_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L226", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_negative_values", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L255", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_rotation_out_of_range", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L288", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_rotation_is_string", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L312", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_item_not_found", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L339", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_image_bytes_empty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L357", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_skip_when_image_bytes_invalid", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L379", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L405", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_multiple_items_independent", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L445", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_auto_save_never_throws_exceptions", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L497", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_create_item_with_image_processing_integration", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L530", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_create_item_with_invalid_image_processing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L580", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_create_item_without_image_processing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L617", "weight": 1.0}, {"source": "backend_tests_test_photo_extraction_py", "target": "test_photo_extraction_test_create_item_with_image_bytes_but_no_processing", "relation": "contains", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L643", "weight": 1.0}, {"source": "test_photo_extraction_rationale_1", "target": "backend_tests_test_photo_extraction_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L1", "weight": 1.0}, {"source": "test_photo_extraction_rationale_33", "target": "test_photo_extraction_test_item_for_extraction", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L33", "weight": 1.0}, {"source": "test_photo_extraction_rationale_49", "target": "test_photo_extraction_sample_image_bytes", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L49", "weight": 1.0}, {"source": "test_photo_extraction_rationale_62", "target": "test_photo_extraction_valid_crop_bounds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L62", "weight": 1.0}, {"source": "test_photo_extraction_rationale_81", "target": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L81", "weight": 1.0}, {"source": "test_photo_extraction_rationale_118", "target": "test_photo_extraction_test_auto_save_with_rotation_degrees", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L118", "weight": 1.0}, {"source": "test_photo_extraction_rationale_146", "target": "test_photo_extraction_test_auto_save_with_negative_rotation", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L146", "weight": 1.0}, {"source": "test_photo_extraction_rationale_176", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_none", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L176", "weight": 1.0}, {"source": "test_photo_extraction_rationale_206", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_missing_keys", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L206", "weight": 1.0}, {"source": "test_photo_extraction_rationale_231", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_invalid_values", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L231", "weight": 1.0}, {"source": "test_photo_extraction_rationale_260", "target": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_negative_values", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L260", "weight": 1.0}, {"source": "test_photo_extraction_rationale_294", "target": "test_photo_extraction_test_auto_save_skip_when_rotation_out_of_range", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L294", "weight": 1.0}, {"source": "test_photo_extraction_rationale_318", "target": "test_photo_extraction_test_auto_save_skip_when_rotation_is_string", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L318", "weight": 1.0}, {"source": "test_photo_extraction_rationale_344", "target": "test_photo_extraction_test_auto_save_skip_when_item_not_found", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L344", "weight": 1.0}, {"source": "test_photo_extraction_rationale_362", "target": "test_photo_extraction_test_auto_save_skip_when_image_bytes_empty", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L362", "weight": 1.0}, {"source": "test_photo_extraction_rationale_384", "target": "test_photo_extraction_test_auto_save_skip_when_image_bytes_invalid", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L384", "weight": 1.0}, {"source": "test_photo_extraction_rationale_410", "target": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L410", "weight": 1.0}, {"source": "test_photo_extraction_rationale_449", "target": "test_photo_extraction_test_auto_save_multiple_items_independent", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L449", "weight": 1.0}, {"source": "test_photo_extraction_rationale_501", "target": "test_photo_extraction_test_auto_save_never_throws_exceptions", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L501", "weight": 1.0}, {"source": "test_photo_extraction_rationale_534", "target": "test_photo_extraction_test_create_item_with_image_processing_integration", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L534", "weight": 1.0}, {"source": "test_photo_extraction_rationale_584", "target": "test_photo_extraction_test_create_item_with_invalid_image_processing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L584", "weight": 1.0}, {"source": "test_photo_extraction_rationale_620", "target": "test_photo_extraction_test_create_item_without_image_processing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L620", "weight": 1.0}, {"source": "test_photo_extraction_rationale_647", "target": "test_photo_extraction_test_create_item_with_image_bytes_but_no_processing", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L647", "weight": 1.0}], "raw_calls": [{"caller_nid": "test_photo_extraction_test_item_for_extraction", "callee": "Item", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L34"}, {"caller_nid": "test_photo_extraction_test_item_for_extraction", "callee": "add", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L41"}, {"caller_nid": "test_photo_extraction_test_item_for_extraction", "callee": "commit", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L42"}, {"caller_nid": "test_photo_extraction_test_item_for_extraction", "callee": "refresh", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L43"}, {"caller_nid": "test_photo_extraction_sample_image_bytes", "callee": "new", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L53"}, {"caller_nid": "test_photo_extraction_sample_image_bytes", "callee": "BytesIO", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L54"}, {"caller_nid": "test_photo_extraction_sample_image_bytes", "callee": "save", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L55"}, {"caller_nid": "test_photo_extraction_sample_image_bytes", "callee": "seek", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L56"}, {"caller_nid": "test_photo_extraction_sample_image_bytes", "callee": "getvalue", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L57"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L82"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L94"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L94"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L94"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "endswith", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L104"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "endswith", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L105"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L108"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L108"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L108"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L109"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L109"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_valid_crop_bounds", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L109"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L119"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L129"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L129"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L129"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L136"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L136"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L136"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L137"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L137"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_rotation_degrees", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L137"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L147"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L157"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L157"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L157"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L163"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L163"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L163"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L164"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L164"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_negative_rotation", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L164"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_none", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L177"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_none", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L190"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_none", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L190"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_none", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L190"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_missing_keys", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L209"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_missing_keys", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L220"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_missing_keys", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L220"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_missing_keys", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L220"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_invalid_values", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L239"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_invalid_values", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L249"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_invalid_values", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L249"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_invalid_values", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L249"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_negative_values", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L268"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_negative_values", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L278"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_negative_values", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L278"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_crop_bounds_negative_values", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L278"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_out_of_range", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L295"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_out_of_range", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L306"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_out_of_range", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L306"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_out_of_range", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L306"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_is_string", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L319"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_is_string", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L329"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_is_string", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L329"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_rotation_is_string", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L329"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_item_not_found", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L345"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_empty", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L363"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_empty", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L373"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_empty", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L373"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_empty", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L373"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_invalid", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L385"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_invalid", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L395"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_invalid", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L395"}, {"caller_nid": "test_photo_extraction_test_auto_save_skip_when_image_bytes_invalid", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L395"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L418"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L431"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L431"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L431"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L437"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L437"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L437"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L438"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L438"}, {"caller_nid": "test_photo_extraction_test_auto_save_with_large_crop_bounds", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L438"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "Item", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L450"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "Item", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L451"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "add", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L452"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "add", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L453"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "commit", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L454"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L459"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L467"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L479"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L479"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L479"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "first", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L480"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "filter", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L480"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "query", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L480"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L487"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L487"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L487"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L488"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L488"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L488"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L489"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L489"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L489"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L490"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L490"}, {"caller_nid": "test_photo_extraction_test_auto_save_multiple_items_independent", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L490"}, {"caller_nid": "test_photo_extraction_test_auto_save_never_throws_exceptions", "callee": "_auto_save_photo_from_extraction", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L512"}, {"caller_nid": "test_photo_extraction_test_auto_save_never_throws_exceptions", "callee": "isinstance", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L521"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "decode", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L538"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "b64encode", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L538"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "post", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L555"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "json", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L559"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "endswith", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L572"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "endswith", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L573"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L576"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L576"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L576"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "unlink", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L577"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "Path", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L577"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_processing_integration", "callee": "lstrip", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L577"}, {"caller_nid": "test_photo_extraction_test_create_item_with_invalid_image_processing", "callee": "decode", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L587"}, {"caller_nid": "test_photo_extraction_test_create_item_with_invalid_image_processing", "callee": "b64encode", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L587"}, {"caller_nid": "test_photo_extraction_test_create_item_with_invalid_image_processing", "callee": "post", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L603"}, {"caller_nid": "test_photo_extraction_test_create_item_with_invalid_image_processing", "callee": "json", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L607"}, {"caller_nid": "test_photo_extraction_test_create_item_without_image_processing", "callee": "post", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L629"}, {"caller_nid": "test_photo_extraction_test_create_item_without_image_processing", "callee": "json", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L633"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_bytes_but_no_processing", "callee": "decode", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L650"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_bytes_but_no_processing", "callee": "b64encode", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L650"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_bytes_but_no_processing", "callee": "post", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L662"}, {"caller_nid": "test_photo_extraction_test_create_item_with_image_bytes_but_no_processing", "callee": "json", "source_file": "backend/tests/test_photo_extraction.py", "source_location": "L666"}]} |