mattercontrol/Tests/MatterControl.AutomationTests/RetrievePublicProfileTest.cs
Matt Moening d96531152b converted oemprofiles to be .printer files and to be retrieved as such from various locations.
Updated to test to reflect the actions actually done by the request (not sure why they were not failing before)
2016-07-20 17:39:19 -07:00

74 lines
2.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
using MatterHackers.MatterControl.VersionManagement;
using System.IO;
using MatterHackers.MatterControl.DataStorage;
using MatterHackers.MatterControl.SettingsManagement;
using System.Threading;
using MatterHackers.MatterControl.Tests.Automation;
using MatterHackers.Agg.UI.Tests;
using MatterHackers.GuiAutomation;
using MatterHackers.Agg.UI;
using Newtonsoft.Json;
using MatterHackers.Agg.PlatformAbstract;
using MatterHackers.MatterControl.SlicerConfiguration;
namespace MatterControl.Tests.MatterControl
{
[TestFixture]
public class RetrievePublicProfileTest
{
private string deviceToken = null;
[Test]
public void RetrievePrinterProfileListWorking()
{
StaticData.Instance = new MatterHackers.Agg.FileSystemStaticData(Path.Combine("..", "..", "..", "..", "StaticData"));
string profilePath = Path.Combine(ApplicationDataStorage.ApplicationUserDataPath, "data", "temp", "cache", "profiles", "oemprofiles.json");
//MatterControlUtilities.OverrideAppDataLocation();
AutoResetEvent requestCompleteWaiter = new AutoResetEvent(false);
PublicProfilesRequest retrieveProfiles = new PublicProfilesRequest();
retrieveProfiles.URI = "https://mattercontrol-test.appspot.com/api/1/device/get-public-profile-list";
retrieveProfiles.RequestComplete += (sender, eArgs) => { requestCompleteWaiter.Set(); };
retrieveProfiles.Request();
Assert.IsTrue(requestCompleteWaiter.WaitOne());
//Ensures we got success and a list of profiles
Assert.IsTrue(retrieveProfiles.ResponseValues.Count == 2);
//Call Retrieve Profile next
RetrievePrinterProfileWorking();
}
//[Test,Category("CloudProfiles")]
public void RetrievePrinterProfileWorking()
{
string make = OemSettings.Instance.OemProfiles.First().Key;
string model = OemSettings.Instance.OemProfiles[make].First().Key;
deviceToken = OemSettings.Instance.OemProfiles[make][model];
string expectedProfilePath = Path.Combine(ApplicationDataStorage.ApplicationUserDataPath, "Profiles", string.Format("{0}{1}", deviceToken, ProfileManager.ProfileExtension));
if (File.Exists(expectedProfilePath))
{
File.Delete(expectedProfilePath);
}
RetrievePublicProfileRequest request = new RetrievePublicProfileRequest();
string recievedPrinterProfile = RetrievePublicProfileRequest.DownloadPrinterProfile(deviceToken);
Assert.IsNotNullOrEmpty(recievedPrinterProfile);
//Assert.AreEqual(expectedProfilePath, recievedProfilePath,"Received Profile path does not match expected path.");
//Assert.IsTrue(File.Exists(expectedProfilePath));
}
}
}