Esempio n. 1
0
        public void Load_Test_MultipleFiles_Success()
        {
            var fileSystem = new SocialMediaFileSystem(Path.Combine(_path, "Load"));
            var file1      = Path.Combine(fileSystem.PathToSaveFile, "123456789.xml");
            var file2      = Path.Combine(fileSystem.PathToSaveFile, "987654321.xml");


            if (File.Exists(file2))
            {
                File.Delete(file2);
            }
            File.Copy(file1, file2);
            List <SocialMediaUserData> users = fileSystem.Load().Cast <SocialMediaUserData>().ToList();

            Assert.True(File.Exists(file1));
            Assert.True(File.Exists(file2));
            Assert.Equal(6, users.Count);
            Equal(SocialMediaEnum.YouTube, "YouTuber", 123456789, 1, "wecylinder", users[0]);
            Equal(SocialMediaEnum.YouTube, "YouTuber", 987654321, 1, "wecylinder", users[1]);
            Equal(SocialMediaEnum.Twitter, "Tweeter", 123456789, 3, "chirp", users[2]);
            Equal(SocialMediaEnum.Twitter, "Tweeter", 987654321, 3, "chirp", users[3]);
            Equal(SocialMediaEnum.Twitch, "Streamer", 123456789, 2, "spasm", users[4]);
            Equal(SocialMediaEnum.Twitch, "Streamer", 987654321, 2, "spasm", users[5]);

            File.Delete(file2);
        }
Esempio n. 2
0
 public SocialMedia(DiscordSocketClient client, IConfiguration config, IEnumerable <SocialMediaUserData> users,
                    SocialMediaFileSystem fileSystem, int seconds = 60)
 {
     Client     = client;
     Config     = config;
     Users      = users.ToList();
     FileSystem = fileSystem;
 }
Esempio n. 3
0
        public void SetPath_Test_WithPath_Success()
        {
            var fileSystem = new SocialMediaFileSystem(Path.Combine(_path, "Set Path"));

            Assert.True(Directory.Exists(fileSystem.PathToSaveFile));

            Directory.Delete(fileSystem.PathToSaveFile, true);
        }
Esempio n. 4
0
        public void SetPath_Test_NoPath_Success()
        {
            var fileSystem = new SocialMediaFileSystem();

            Assert.True(Directory.Exists(fileSystem.PathToSaveFile));

            Directory.Delete(fileSystem.PathToSaveFile, true);
        }
Esempio n. 5
0
        public void Load_Test_Fail()
        {
            var fileSystem = new SocialMediaFileSystem(Path.Combine(_path, "Load Fail"));

            List <SocialMediaUserData> users = fileSystem.Load().Cast <SocialMediaUserData>().ToList();

            Assert.True(File.Exists(Path.Combine(fileSystem.PathToSaveFile, "fail.xml")));
            Assert.Empty(users);
        }
Esempio n. 6
0
        private Twitch CreateNewTwitch(out SocialMediaFileSystem fileSystem, string folderName = "New", int seconds = 60)
        {
            string path = Path.Combine(Directory.GetCurrentDirectory(), "Test Files", GetType().Name, folderName);

            if (Directory.Exists(path))
            {
                Directory.Delete(path, true);
            }
            fileSystem = new SocialMediaFileSystem(path);

            return(new Twitch(new FakeChronoTwitch(), _mockClient.Object, _config.Object, new List <SocialMediaUserData>(), fileSystem, seconds));
        }
Esempio n. 7
0
        public void Load_Test_SingleFile_Success()
        {
            var fileSystem = new SocialMediaFileSystem(Path.Combine(_path, "Load"));

            List <SocialMediaUserData> users = fileSystem.Load().Cast <SocialMediaUserData>().ToList();

            Assert.True(File.Exists(Path.Combine(fileSystem.PathToSaveFile, "123456789.xml")));
            Assert.Equal(3, users.Count);
            Equal(SocialMediaEnum.YouTube, "YouTuber", 123456789, 1, "wecylinder", users[0]);
            Equal(SocialMediaEnum.Twitter, "Tweeter", 123456789, 3, "chirp", users[1]);
            Equal(SocialMediaEnum.Twitch, "Streamer", 123456789, 2, "spasm", users[2]);
        }
Esempio n. 8
0
        private Tuple <SocialMediaFileSystem, string> SetUpSaveFileTests()
        {
            var fileSystem =
                new SocialMediaFileSystem(Path.Combine(_path, "Save"));
            string file = Path.Combine(fileSystem.PathToSaveFile, "987654321.xml");

            if (File.Exists(file))
            {
                File.Delete(file);
            }

            return(new Tuple <SocialMediaFileSystem, string>(fileSystem, file));
        }
Esempio n. 9
0
        public Twitch(ChronoTwitch.ChronoTwitch api, DiscordSocketClient client, IConfiguration config,
                      IEnumerable <SocialMediaUserData> users, SocialMediaFileSystem fileSystem, int seconds = 120) : base(client, config, users, fileSystem)
        {
            _api = api;
            _api.Authenticate(Config[Statics.TwitchClientId], Config[Statics.TwitchSecret]);

            Hyperlink = "https://www.twitch.com/";

            OnUpdateTimerAsync(seconds);

            LoadOrCreateFromFile();

            TypeOfSocialMedia = SocialMediaEnum.Twitch.ToString().ToLowerInvariant();
        }
Esempio n. 10
0
        public Twitter(TwitterService service, DiscordSocketClient client, IConfiguration config,
                       IEnumerable <SocialMediaUserData> users, SocialMediaFileSystem fileSystem, int seconds = 60) :
            base(client, config, users, fileSystem, seconds)
        {
            _service = service;
            Authenticate();

            OnUpdateTimerAsync(seconds);

            Hyperlink = "https://twitter.com/@name/status/@id";

            LoadOrCreateFromFile();

            TypeOfSocialMedia = SocialMediaEnum.Twitter.ToString().ToLowerInvariant();
        }
Esempio n. 11
0
        private YouTube LoadCopyYouTubeService(out SocialMediaFileSystem fileSystem)
        {
            string path = Path.Combine(Directory.GetCurrentDirectory(), "Test Files", GetType().Name, "Update");

            if (Directory.Exists(path))
            {
                Directory.Delete(path, true);
            }
            Directory.CreateDirectory(path);
            File.Copy(Path.Combine(Directory.GetCurrentDirectory(), "Test Files", GetType().Name, "Load", "123456789.xml"),
                      Path.Combine(path, "123456789.xml"));
            fileSystem = new SocialMediaFileSystem(path);

            return(new YouTube(_fakeYouTube, _mockClient.Object, _config.Object, new List <SocialMediaUserData>(), fileSystem));
        }
Esempio n. 12
0
        private Tuple <SocialMediaFileSystem, string> SetUpCopyOfFileTests(string folderName)
        {
            var srcFile    = Path.Combine(_path, "Load", "123456789.xml");
            var updatePath = Path.Combine(_path, folderName);

            if (Directory.Exists(updatePath))
            {
                Directory.Delete(updatePath, true);
            }
            var fileSystem = new SocialMediaFileSystem(updatePath);

            File.Copy(srcFile, Path.Combine(fileSystem.PathToSaveFile, "123456789.xml"));
            var file = Path.Combine(_path, folderName, "123456789.xml");

            return(new Tuple <SocialMediaFileSystem, string>(fileSystem, file));
        }
Esempio n. 13
0
        public YouTube(YouTubeService service, DiscordSocketClient client, IConfiguration config,
                       IEnumerable <SocialMediaUserData> users, SocialMediaFileSystem fileSystem, int seconds = 90) :
            base(client, config, users, fileSystem, seconds)
        {
            _service = service;
            if (string.IsNullOrEmpty(_service.ApiKey))
            {
                _service = new YouTubeService(new BaseClientService.Initializer
                {
                    ApiKey = Config[Statics.YouTubeApiKey], ApplicationName = "ChronoBot"
                });
            }

            Hyperlink = "https://www.youtube.com/watch?v=";

            _channelLink = "https://www.youtube.com/user/";

            OnUpdateTimerAsync(seconds);

            LoadOrCreateFromFile();

            TypeOfSocialMedia = SocialMediaEnum.YouTube.ToString().ToLowerInvariant();
        }
Esempio n. 14
0
        private Twitch LoadTwitch(out SocialMediaFileSystem fileSystem)
        {
            fileSystem = new SocialMediaFileSystem(Path.Combine(Directory.GetCurrentDirectory(), "Test Files", GetType().Name, "Load"));

            return(new Twitch(new FakeChronoTwitch(), _mockClient.Object, _config.Object, new List <SocialMediaUserData>(), fileSystem));
        }
Esempio n. 15
0
        private YouTube LoadYouTubeService()
        {
            var fileSystem = new SocialMediaFileSystem(Path.Combine(Directory.GetCurrentDirectory(), "Test Files", GetType().Name, "Load"));

            return(new YouTube(_fakeYouTube, _mockClient.Object, _config.Object, new List <SocialMediaUserData>(), fileSystem));
        }