示例#1
0
        public void CreateSigner_HasCorrectKeys()
        {
            var key     = AssemblyNameReferenceObjectMother.RealKeyPairStream();
            var keyPair = AssemblyNameReferenceObjectMother.RealKeyPair();

            _factory.AddOptions(_options);
            _options.Parse(new[] { "-k:someKey", "-y:someDir" });

            _fileSystemMock
            .Expect(mock => mock.Open("someKey", FileMode.Open))
            .Return(AssemblyNameReferenceObjectMother.RealKeyPairStream());
            _fileSystemMock
            .Expect(mock => mock.EnumerateFiles("someDir", "*.snk", SearchOption.AllDirectories))
            .Return(new[] { @"something\1.snk" });
            _fileSystemMock
            .Expect(mock => mock.Open(@"something\1.snk", FileMode.Open))
            .Return(AssemblyNameReferenceObjectMother.RealKeyPairStream());
            _fileSystemMock.Replay();

            var result = _factory.CreateSigner();

            _fileSystemMock.VerifyAllExpectations();
            Assert.That(result, Is.TypeOf(typeof(AssemblySigner)));
            Assert.That(((ModuleDefinitionWriter)((AssemblySigner)result).Writer).DefaultKey.PublicKey.SequenceEqual(AssemblyNameReferenceObjectMother.RealKeyPair().PublicKey));
            Assert.That(((ModuleDefinitionWriter)((AssemblySigner)result).Writer).Keys.Length == 1);
            Assert.That(((ModuleDefinitionWriter)((AssemblySigner)result).Writer).Keys[0].PublicKey.SequenceEqual(AssemblyNameReferenceObjectMother.RealKeyPair().PublicKey));
        }
示例#2
0
        public void WriteModuleDefinition_SignedAssembly_WriterFindsMatchingKey()
        {
            _definitionWriter = new ModuleDefinitionWriter(
                _fileSystemMock,
                null,
                new List <StrongNameKeyPair> {
                AssemblyNameReferenceObjectMother.RealKeyPair()
            });
            //_fileSystemMock
            //     .Expect (mock => mock.FileExists (_signedAssemblyDefinition.MainModule.FullyQualifiedName)).Return (true);
            //_fileSystemMock
            //     .Expect (mock => mock.FileExists (_signedAssemblyDefinition.MainModule.FullyQualifiedName + ".bak0")).Return (false);
            //_fileSystemMock
            //    .Expect (mock => mock.Move (_signedAssemblyDefinition.MainModule.FullyQualifiedName, _signedAssemblyDefinition.MainModule.FullyQualifiedName + ".bak0"));
            _fileSystemMock
            .Expect(mock => mock.WriteModuleDefinition(
                        Arg <ModuleDefinition> .Is.Same(_signedAssemblyDefinition.MainModule),
                        Arg <string> .Is.Same(_signedAssemblyDefinition.MainModule.FullyQualifiedName),
                        Arg <WriterParameters> .Matches(param => param.StrongNameKeyPair.Equals(AssemblyNameReferenceObjectMother.RealKeyPair()))));
            _fileSystemMock.Replay();

            _definitionWriter.WriteModule(_signedAssemblyDefinition.MainModule);

            _fileSystemMock.VerifyAllExpectations();
        }
示例#3
0
        public void GetAssemblyByReference_NoMatchFound()
        {
            var name = AssemblyNameReferenceObjectMother.CreateAssemblyNameReferenceWithCulture("TestCase1", "de");

            AssemblyDefinition assembly  = AssemblyDefinitionObjectMother.CreateAssemblyDefinition("TestCase1");
            AssemblyDefinition assembly2 = AssemblyDefinitionObjectMother.CreateAssemblyDefinition("TestCase2");
            AssemblyTracker    tracker   = new AssemblyTracker(new[] { assembly, assembly2 }, new TypeDefinitionCache());

            var result = tracker.GetAssembliesByReference(name);

            Assert.That(result, Is.Empty);
        }
示例#4
0
        public void GetAssemblyByReference()
        {
            var name = AssemblyNameReferenceObjectMother.CreateAssemblyNameReference("TestCase1");

            AssemblyDefinition assembly  = AssemblyDefinitionObjectMother.CreateAssemblyDefinition("TestCase1");
            AssemblyDefinition assembly2 = AssemblyDefinitionObjectMother.CreateAssemblyDefinition("TestCase2");
            AssemblyTracker    tracker   = new AssemblyTracker(new[] { assembly, assembly2 }, new TypeDefinitionCache());

            var result = tracker.GetAssembliesByReference(name);

            Assert.That(result, Is.EqualTo(new [] { assembly }));
        }
        public void MarkMethods_WithKey()
        {
            _signer = new AssemblySigner(new ModuleDefinitionWriter(new FileSystem.FileSystem(), AssemblyNameReferenceObjectMother.RealKeyPair(), new List <StrongNameKeyPair> ()));

            _transformator.Transform(_tracker);
            _signer.SignAndSave(_tracker);

            //CheckVirtuality ();
        }