polite-garden-50641
01/05/2021, 4:29 PMenough-analyst-54434
01/05/2021, 4:39 PMpolite-garden-50641
01/05/2021, 4:50 PMrun_rule_with_mocks
enough-analyst-54434
01/05/2021, 4:50 PMenough-analyst-54434
01/05/2021, 4:51 PMpolite-garden-50641
01/05/2021, 4:55 PMrule_runner.build_root
in order to assert that stuff has been written to the correct location. and that location is already a temporary location so I don't have to worry about cleaning it up, right ?hundreds-father-404
01/05/2021, 4:58 PMpolite-garden-50641
01/05/2021, 5:15 PMdigest = await Get(Digest, CreateDigest([FileContent(path=fn, content=bytes_data])))
to get/create the digest that will be passed to the workspace.write_digest()
api.
However, when calling run_rule_with_mocks I am passing a MockGet that looks like this: MockGet(output_type=Digest, input_type=CreateDigest, mock=lambda fc: EMPTY_DIGEST)
which means that the an empty digest is returned and nothing gets written, how do I create an actual digest ?
Since in this case I want an actual digest or digest like object to be created.hundreds-father-404
01/05/2021, 5:36 PMrule_runner.request(Digest, [CreateDigest([FileContent(..)]))
to get a Digest
object, then use that in your MockGet
hundreds-father-404
01/05/2021, 5:37 PMrun_rule_with_mocks
? Often rule_runner.run_goal_rule
is better and more integration-y.polite-garden-50641
01/05/2021, 6:58 PMrunner = RuleRunner(rules=[QueryRule(Digest, [CreateDigest])])
however I still get an error... what am I doing wrong?hundreds-father-404
01/05/2021, 6:59 PMrule_runner.request()
the right way - are you saying rule_runner.request(Digest, [FileContent()]
by chance, without the wrapping CreateDigest()
?polite-garden-50641
01/05/2021, 7:00 PMdef mock_create_digest(fc):
return runner.request(Digest, fc)
polite-garden-50641
01/05/2021, 7:01 PMpolite-garden-50641
01/05/2021, 7:01 PMMockGet(output_type=Digest, input_type=CreateDigest, mock=mock_create_digest)
hundreds-father-404
01/05/2021, 7:09 PMrunner.request(Digest, [CreateDigest([fc])])
polite-garden-50641
01/05/2021, 7:21 PMrunner.request(Digest, [fc])
fixed i.thundreds-father-404
01/05/2021, 7:22 PMFileContent -> Digest
. It should need the wrapping CreateDigest()