Inheritance: Stream, IDisposable
Exemple #1
0
        public MockFile(MockDirectory parent, string name)
        {
            _parent = parent;
            _name   = name;

            _stream         = null;
            AssemblyVersion = null;
            FileVersion     = null;
        }
Exemple #2
0
        public MockFile(MockDirectory parent, string name)
        {
            _parent = parent;
            _name = name;

            _stream = null;
            AssemblyVersion = null;
            FileVersion = null;
        }
Exemple #3
0
        private void CreateFileStream()
        {
            if (_stream == null)
            {
                if (_parent.GetFiles(Name).Count == 0)
                {
                    _parent.AddFile(this);
                }
            }

            _stream = new MockStream();
        }
Exemple #4
0
        public Stream GetResponseStream(string uri, long progress, Func <GetCredentialsEventArgs, bool> getCredentials, out long contentLength)
        {
            var response = _responses[uri];

            if (response == null)
            {
                throw new WebException("404 File not found");
            }

            if (_credentials.ContainsKey(uri))
            {
                bool hasValidCredentials = false;
                if (getCredentials != null)
                {
                    var args = new GetCredentialsEventArgs();
                    while (getCredentials(args))
                    {
                        if (_credentials[uri].Key == args.UserName && _credentials[uri].Value == args.Password)
                        {
                            hasValidCredentials = true;
                            break;
                        }
                    }
                }

                if (!hasValidCredentials)
                {
                    throw new WebException("401 Unauthorized");
                }
            }
            contentLength = response.Data.Length;
            var stream = new MockStream(response.Data);

            if (response.OnRead != null)
            {
                stream.OnRead += response.OnRead;
            }
            if (response.OnWrite != null)
            {
                stream.OnWrite += response.OnWrite;
            }
            stream.Open();
            stream.Seek(progress, SeekOrigin.Begin);
            return(stream);
        }
Exemple #5
0
        public void WriteBinary(byte[] data)
        {
            if (_parent == null)
            {
                throw new DirectoryNotFoundException("Parent directory is null.");
            }

            LastAccessTimeUtc = TimeService.Current.Now;
            LastWriteTimeUtc  = TimeService.Current.Now;

            _stream = new MockStream();
            _stream.Open();
            _stream.Write(data, 0, data.Length);

            if (_parent.GetFiles(Name).Count == 0)
            {
                _parent.AddFile(this);
            }
        }
Exemple #6
0
 public void Delete()
 {
     AssertExists();
     _stream = null;
 }
Exemple #7
0
        private void CreateFileStream()
        {
            if (_stream == null)
            {
                if (_parent.GetFiles(Name).Count == 0)
                {
                    _parent.AddFile(this);
                }
            }

            _stream = new MockStream();
        }
Exemple #8
0
        public void WriteBinary(byte[] data)
        {
            if (_parent == null) throw new DirectoryNotFoundException("Parent directory is null.");

            LastAccessTimeUtc = TimeService.Current.Now;
            LastWriteTimeUtc = TimeService.Current.Now;

            _stream = new MockStream();
            _stream.Open();
            _stream.Write(data, 0, data.Length);

            if (_parent.GetFiles(Name).Count == 0)
            {
                _parent.AddFile(this);
            }
        }
Exemple #9
0
 public void Delete()
 {
     AssertExists();
     _stream = null;
 }
        public Stream GetResponseStream(string uri, long progress, Func<GetCredentialsEventArgs, bool> getCredentials, out long contentLength)
        {
            var response = _responses[uri];

            if (response==null)
            {
                throw new WebException("404 File not found");
            }

            if (_credentials.ContainsKey(uri))
            {
                bool hasValidCredentials = false;
                if (getCredentials != null)
                {
                    var args = new GetCredentialsEventArgs();
                    while (getCredentials(args))
                    {
                        if (_credentials[uri].Key==args.UserName && _credentials[uri].Value==args.Password)
                        {
                            hasValidCredentials = true;
                            break;
                        }
                    }
                }

                if (!hasValidCredentials)
                {
                    throw new WebException("401 Unauthorized");
                }
            }
            contentLength = response.Data.Length;
            var stream = new MockStream(response.Data);
            if (response.OnRead != null) stream.OnRead += response.OnRead;
            if (response.OnWrite != null) stream.OnWrite += response.OnWrite;
            stream.Open();
            stream.Seek(progress, SeekOrigin.Begin);
            return stream;
        }