File size: 8,459 Bytes
d61821a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
  "commit": "9353f5406d6762d09065744bfca360ccff36defe",
  "parent": "8d74b889c55d18395c5e5006ba8f7db77892f603",
  "repository_id": "R003",
  "schema_version": 1,
  "task_id": "TASK_S2_R003_010",
  "valid_end_to_end": true,
  "validation": {
    "commands": [
      "python -m pytest -q tests/unit/objects"
    ],
    "elapsed_seconds": 1.4869164580013603,
    "gold": [
      {
        "command": "python -m pytest -q tests/unit/objects",
        "elapsed_seconds": 0.42021949985064566,
        "returncode": 0,
        "stderr": "",
        "stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n........................................................................ [ 63%]\n.s...................................................................... [ 85%]\n..................................................                       [100%]\n335 passed, 3 skipped in 0.25s\n",
        "timed_out": false
      }
    ],
    "hidden": [
      {
        "command": "python -m pytest -q tests/unit/objects",
        "elapsed_seconds": 0.4540839157998562,
        "returncode": 1,
        "stderr": "",
        "stdout": "egistered() if m.call_count == 0]\n        if not_called:\n>           raise AssertionError(\n                \"Not all requests have been executed {!r}\".format(\n                    [(match.method, match.url) for match in not_called]\n                )\n            )\nE           AssertionError: Not all requests have been executed [('POST', re.compile('http://localhost/api/v4/((groups|projects)/1/|)hooks/1/test/[a-z_]+'))]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n_______________ ERROR at teardown of test_test_error_group_hook ________________\n\n    @pytest.fixture\n    def resp_hook_test_error():\n>       with responses.RequestsMock() as rsps:\n\ntests/unit/objects/test_hooks.py:121: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:996: in __exit__\n    self.stop(allow_assert=success)\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <responses.RequestsMock object at 0x10763a450>, allow_assert = True\n\n    def stop(self, allow_assert: bool = True) -> None:\n        if self._patcher:\n            # prevent stopping unstarted patchers\n            self._patcher.stop()\n    \n            # once patcher is stopped, clean it. This is required to create a new\n            # fresh patcher on self.start()\n            self._patcher = None\n    \n        if not self.assert_all_requests_are_fired:\n            return\n    \n        if not allow_assert:\n            return\n    \n        not_called = [m for m in self.registered() if m.call_count == 0]\n        if not_called:\n>           raise AssertionError(\n                \"Not all requests have been executed {!r}\".format(\n                    [(match.method, match.url) for match in not_called]\n                )\n            )\nE           AssertionError: Not all requests have been executed [('POST', re.compile('http://localhost/api/v4/((groups|projects)/1/|)hooks/1/test/[a-z_]+'))]\n\n/Users/mandeepsidhu/Desktop/code/pending-work-research/agent-harness/.venv/lib/python3.11/site-packages/responses/__init__.py:1233: AssertionError\n=================================== FAILURES ===================================\n_____________________________ test_test_group_hook _____________________________\n\ngroup = <Group id:1>\nresp_hook_test = <responses.RequestsMock object at 0x1076bc4d0>\n\n    def test_test_group_hook(group, resp_hook_test):\n        hook = group.hooks.get(1)\n>       hook.test(\"push_events\")\n\ntests/unit/objects/test_hooks.py:232: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = <GroupHook id:1 url:testurl>, name = 'test'\n\n    def __getattr__(self, name: str) -> Any:\n        if name in self.__dict__[\"_updated_attrs\"]:\n            return self.__dict__[\"_updated_attrs\"][name]\n    \n        if name in self.__dict__[\"_attrs\"]:\n            value = self.__dict__[\"_attrs\"][name]\n            # If the value is a list, we copy it in the _updated_attrs dict\n            # because we are not able to detect changes made on the object\n            # (append, insert, pop, ...). Without forcing the attr\n            # creation __setattr__ is never called, the list never ends up\n            # in the _updated_attrs dict, and the update() and save()\n            # method never push the new data to the server.\n            # See https://github.com/python-gitlab/python-gitlab/issues/306\n            #\n            # note: _parent_attrs will only store simple values (int) so we\n            # don't make this check in the next block.\n            if isinstance(value, list):\n                self.__dict__[\"_updated_attrs\"][name] = value[:]\n                return self.__dict__[\"_updated_attrs\"][name]\n    \n            return value\n    \n        if name in self.__dict__[\"_parent_attrs\"]:\n            return self.__dict__[\"_parent_attrs\"][name]\n    \n        message = f\"{type(self).__name__!r} object has no attribute {name!r}\"\n        if self._created_from_list:\n            message = (\n                f\"{message}\\n\\n\"\n                + textwrap.fill(\n                    f\"{self.__class__!r} was created via a list() call and \"\n                    f\"only a subset of the data may be present. To ensure \"\n                    f\"all data is present get the object using a \"\n                    f\"get(object.id) call. For more details, see:\"\n                )\n                + f\"\\n\\n{_URL_ATTRIBUTE_ERROR}\"\n            )\n        elif self._lazy:\n            message = f\"{message}\\n\\n\" + textwrap.fill(\n                f\"If you tried to access object attributes returned from the server, \"\n                f\"note that {self.__class__!r} was created as a `lazy` object and was \"\n                f\"not initialized with any data.\"\n            )\n>       raise AttributeError(message)\nE       AttributeError: 'GroupHook' object has no attribute 'test'\n\ngitlab/base.py:134: AttributeError\n__________________________ test_test_error_group_hook __________________________\n\ngroup = <Group id:1>\nresp_hook_test_error = <responses.RequestsMock object at 0x10763a450>\n\n    def test_test_error_group_hook(group, resp_hook_test_error):\n        hook = group.hooks.get(1)\n>       with pytest.raises(gitlab.exceptions.GitlabHookTestError):\nE       AttributeError: module 'gitlab.exceptions' has no attribute 'GitlabHookTestError'\n\ntests/unit/objects/test_hooks.py:237: AttributeError\n=========================== short test summary info ============================\nFAILED tests/unit/objects/test_hooks.py::test_test_group_hook - AttributeErro...\nFAILED tests/unit/objects/test_hooks.py::test_test_error_group_hook - Attribu...\nERROR tests/unit/objects/test_hooks.py::test_test_group_hook - AssertionError...\nERROR tests/unit/objects/test_hooks.py::test_test_error_group_hook - Assertio...\n2 failed, 333 passed, 3 skipped, 2 errors in 0.28s\n",
        "timed_out": false
      }
    ],
    "hidden_apply": {
      "elapsed_seconds": 0.009496666956692934,
      "returncode": 0,
      "stderr": "",
      "stdout": ""
    },
    "original": [
      {
        "command": "python -m pytest -q tests/unit/objects",
        "elapsed_seconds": 0.5502862918656319,
        "returncode": 0,
        "stderr": "",
        "stdout": "....................................................................s..s [ 21%]\n........................................................................ [ 42%]\n.......................................................................s [ 64%]\n........................................................................ [ 85%]\n................................................                         [100%]\n333 passed, 3 skipped in 0.37s\n",
        "timed_out": false
      }
    ],
    "reason": null,
    "source_apply": {
      "elapsed_seconds": 0.00959554105065763,
      "returncode": 0,
      "stderr": "",
      "stdout": ""
    },
    "valid": true
  }
}