Ejemplo n.º 1
0
 def test_unlock_persistent_graph(self, graph_dict: Dict[str, List[str]],
                                  mocker: MockerFixture) -> None:
     """Test unlock_persistent_graph."""
     mocker.patch.object(
         CfnginContext,
         "persistent_graph_location",
         {
             "Bucket": "test-bucket",
             "Key": "something.json"
         },
     )
     mocker.patch.object(CfnginContext, "persistent_graph_locked", True)
     mocker.patch.object(CfnginContext, "persistent_graph_lock_code", "123")
     obj = CfnginContext()
     obj.persistent_graph = Graph.from_dict(graph_dict, context=obj)
     stubber = Stubber(obj.s3_client)
     if not graph_dict:
         stubber.add_response(
             "get_object",
             {"Body": "{}".encode()},
             {
                 "ResponseContentType": "application/json",
                 **obj.persistent_graph_location,
             },
         )
     stubber.add_response("delete_object_tagging", {},
                          obj.persistent_graph_location)
     with stubber:
         assert obj.unlock_persistent_graph("123")
Ejemplo n.º 2
0
 def test_unlock_persistent_graph_no_such_key(
         self, mocker: MockerFixture) -> None:
     """Test unlock_persistent_graph empty graph NoSuchKey."""
     mocker.patch.object(
         CfnginContext,
         "persistent_graph_location",
         {
             "Bucket": "test-bucket",
             "Key": "something.json"
         },
     )
     mocker.patch.object(CfnginContext, "persistent_graph_locked", True)
     mocker.patch.object(CfnginContext, "persistent_graph_lock_code", "123")
     obj = CfnginContext()
     obj.persistent_graph = Graph.from_dict({}, context=obj)
     stubber = Stubber(obj.s3_client)
     stubber.add_response(
         "get_object",
         {"Body": "{}".encode()},
         {
             "ResponseContentType": "application/json",
             **obj.persistent_graph_location,
         },
     )
     stubber.add_client_error("delete_object_tagging", "NoSuchKey")
     with stubber:
         assert obj.unlock_persistent_graph("123")
Ejemplo n.º 3
0
 def test_unlock_persistent_graph_not_locked(self,
                                             mocker: MockerFixture) -> None:
     """Test unlock_persistent_graph."""
     mocker.patch.object(
         CfnginContext,
         "persistent_graph_location",
         {
             "Bucket": "test-bucket",
             "Key": "something.json"
         },
     )
     mocker.patch.object(CfnginContext, "persistent_graph_locked", False)
     mocker.patch.object(CfnginContext, "persistent_graph_lock_code", "123")
     obj = CfnginContext()
     obj.persistent_graph = Graph.from_dict(self.persist_graph_raw,
                                            context=obj)
     with pytest.raises(PersistentGraphCannotUnlock):
         obj.unlock_persistent_graph("123")
Ejemplo n.º 4
0
 def test_unlock_persistent_graph_empty_no_such_key(
         self, mocker: MockerFixture) -> None:
     """Test unlock_persistent_graph empty graph NoSuchKey."""
     mocker.patch.object(
         CfnginContext,
         "persistent_graph_location",
         {
             "Bucket": "test-bucket",
             "Key": "something.json"
         },
     )
     obj = CfnginContext()
     obj.persistent_graph = Graph.from_dict({}, context=obj)
     stubber = Stubber(obj.s3_client)
     stubber.add_client_error("get_object", "NoSuchKey")
     with stubber:
         assert obj.unlock_persistent_graph("123")