Many important causal questions involve interactions between units, also known as interference, such as interactions between students in schools or firms in markets. Standard randomization methods break down in this setting. One approach is to restrict the randomization test to a subset of units and assignments such that permuting the treatment assignment vector also permutes the treatment exposures of interest (e.g., spillovers), thus emulating the classical Fisher randomization test. Existing tests, however, have limited capacity to produce such permutation tests, leading to computational challenges and loss in power. In this paper, we introduce the concept of a conditioning mechanism, which provides a framework for constructing valid and powerful randomization tests under general forms of interference. We describe our framework in the context of two-stage randomized designs, and, specifically, to an analysis of spillovers in a randomized evaluation of an intervention targeting student absenteeism. Our approach leads to a natural permutation test with meaningful improvements over existing methods, both in terms of computation and statistical power.