Exemple #1
0
        public async Task CanUseCustomGrainActivatorToCreateGrains()
        {
            ISimpleDIGrain grain  = this.fixture.GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId(), grainClassNamePrefix: "UnitTests.Grains.ExplicitlyRegistered");
            var            actual = await grain.GetStringValue();

            Assert.Equal(HardcodedGrainActivator.HardcodedValue, actual);
        }
        public async Task CannotGetExplictlyRegisteredGrain()
        {
            ISimpleDIGrain grain     = this.fixture.GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId(), grainClassNamePrefix: "UnitTests.Grains.ExplicitlyRegistered");
            var            exception = await Assert.ThrowsAsync <InvalidOperationException>(() => grain.GetLongValue());

            Assert.Contains("Unable to resolve service for type 'System.String' while attempting to activate 'UnitTests.Grains.ExplicitlyRegisteredSimpleDIGrain'", exception.Message);
        }
Exemple #3
0
        public async Task CannotGetExplictlyRegisteredGrain()
        {
            ISimpleDIGrain grain     = this.fixture.GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId(), grainClassNamePrefix: "UnitTests.Grains.ExplicitlyRegistered");
            var            exception = await Assert.ThrowsAsync <OrleansException>(() => grain.GetLongValue());

            Assert.Contains("Error creating activation for", exception.Message);
            Assert.Contains("explicitly-registered", exception.Message);
        }
Exemple #4
0
        public async Task CannotGetExplictlyRegisteredGrain()
        {
            ISimpleDIGrain grain     = GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId(), grainClassNamePrefix: "UnitTests.Grains.ExplicitlyRegistered");
            var            exception = await Assert.ThrowsAsync <OrleansException>(() => grain.GetTicksFromService());

            Assert.Contains("Error creating activation for", exception.Message);
            Assert.Contains(nameof(ExplicitlyRegisteredSimpleDIGrain), exception.Message);
        }
Exemple #5
0
        public async Task CanUseCustomGrainActivatorToReleaseGrains()
        {
            ISimpleDIGrain grain1 = this.fixture.GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId(), grainClassNamePrefix: "UnitTests.Grains.ExplicitlyRegistered");
            long           initialReleasedInstances = await grain1.GetLongValue();

            ISimpleDIGrain grain2 = this.fixture.GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId(), grainClassNamePrefix: "UnitTests.Grains.ExplicitlyRegistered");
            long           secondReleasedInstances = await grain2.GetLongValue();

            Assert.Equal(initialReleasedInstances, secondReleasedInstances);

            await grain1.DoDeactivate();

            await Task.Delay(250);

            ISimpleDIGrain grain3 = this.fixture.GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId(), grainClassNamePrefix: "UnitTests.Grains.ExplicitlyRegistered");
            long           finalReleasedInstances = await grain3.GetLongValue();

            Assert.Equal(initialReleasedInstances + 1, finalReleasedInstances);
        }
Exemple #6
0
 public async Task DiTests_SimpleDiGrainGetGrain()
 {
     ISimpleDIGrain grain   = GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId());
     long           ignored = await grain.GetTicksFromService();
 }
Exemple #7
0
 public async Task CanGetGrainWithInjectedDependencies()
 {
     ISimpleDIGrain grain   = GrainFactory.GetGrain <ISimpleDIGrain>(GetRandomGrainId());
     long           ignored = await grain.GetTicksFromService();
 }