def run_test(self):
        node1 = self.nodes[1]
        node0 = self.nodes[0]
        # Get out of IBD
        node1.generate(1)
        self.sync_blocks()

        self.nodes[0].add_p2p_connection(TestP2PConn())

        # Test that invs are received by test connection for all txs at
        # feerate of 20 sat/byte
        node1.settxfee(Decimal("0.02000000"))
        txids = [node1.sendtoaddress(node1.getnewaddress(), 1) for x in range(3)]
        assert allInvsMatch(txids, self.nodes[0].p2p)
        self.nodes[0].p2p.clear_invs()

        # Set a filter of 15 sat/byte on test connection
        self.nodes[0].p2p.send_and_ping(msg_feefilter(1500000))

        # Test that txs are still being received by test connection (paying 15 sat/byte)
        node1.settxfee(Decimal("0.01500000"))
        txids = [node1.sendtoaddress(node1.getnewaddress(), 1) for x in range(3)]
        assert allInvsMatch(txids, self.nodes[0].p2p)
        self.nodes[0].p2p.clear_invs()

        # Change tx fee rate to 10 sat/byte and test they are no longer received
        # by the test connection
        node1.settxfee(Decimal("0.01000000"))
        [node1.sendtoaddress(node1.getnewaddress(), 1) for x in range(3)]
        self.sync_mempools() # must be sure node 0 has received all txs

        # Send one transaction from node0 that should be received, so that we
        # we can sync the test on receipt (if node1's txs were relayed, they'd
        # be received by the time this node0 tx is received). This is
        # unfortunately reliant on the current relay behavior where we batch up
        # to 35 entries in an inv, which means that when this next transaction
        # is eligible for relay, the prior transactions from node1 are eligible
        # as well.
        node0.settxfee(Decimal("0.02000000"))
        txids = [node0.sendtoaddress(node0.getnewaddress(), 1)]
        assert allInvsMatch(txids, self.nodes[0].p2p)
        self.nodes[0].p2p.clear_invs()

        # Remove fee filter and check that txs are received again
        self.nodes[0].p2p.send_and_ping(msg_feefilter(0))
        txids = [node1.sendtoaddress(node1.getnewaddress(), 1) for x in range(3)]
        assert allInvsMatch(txids, self.nodes[0].p2p)
        self.nodes[0].p2p.clear_invs()