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); }
public SocialMedia(DiscordSocketClient client, IConfiguration config, IEnumerable <SocialMediaUserData> users, SocialMediaFileSystem fileSystem, int seconds = 60) { Client = client; Config = config; Users = users.ToList(); FileSystem = fileSystem; }
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); }
public void SetPath_Test_NoPath_Success() { var fileSystem = new SocialMediaFileSystem(); Assert.True(Directory.Exists(fileSystem.PathToSaveFile)); Directory.Delete(fileSystem.PathToSaveFile, true); }
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); }
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)); }
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]); }
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)); }
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(); }
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(); }
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)); }
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)); }
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(); }
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)); }
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)); }