示例#1
0
        public void CreateLogTest()
        {
            int count = 0;

            var path     = "./output/test/minhaCdn1.txt";
            var response = "312|200|HIT|\"GET /robots.txt HTTP/1.1\"|100.2\n" +
                           "101|200|MISS|\"POST /myImages HTTP/1.1\"|319.4\n" +
                           "199|404|MISS|\"GET /not-found HTTP/1.1\"|142.9\n" +
                           "312|200|INVALIDATE|\"GET /robots.txt HTTP/1.1\"|245.1\n";

            var messageHandler = new MockHttpMessageHandler(response, HttpStatusCode.OK);
            var httpClient     = new HttpClient(messageHandler);
            var streamReader   = new StreamReader(httpClient.GetStreamAsync("http://exempligratia.com/testing/arquivo.txt").Result);
            var log            = Program.ReadLog(streamReader);

            Agora     agora   = new Agora(log, path);
            IMinhaCdn adapter = new AgoraAdapter(agora);

            Program.Log(adapter);

            using (StreamReader streamReaderLog = File.OpenText(path))
            {
                string line;
                while ((line = streamReaderLog.ReadLine()) != null)
                {
                    count++;
                }
            }

            // Minha CDN Header: 3 lines
            Assert.AreEqual((count - 3), log.Count);
        }
示例#2
0
        public async Task <Agora> DownloadConverterAsync(string url, string path)
        {
            Agora result = null;

            try
            {
                Validate(url, path);
                if (Messages.Any())
                {
                    return(result);
                }

                string filename     = url.Split('/').LastOrDefault();
                string downloadpath = await DownloadFromUrl(url, filename);

                var engine  = new FileHelperEngine <MinhaCDN>();
                var records = engine.ReadFile(downloadpath);
                result = new Agora(records.ToList());
                WriteFileOnPath(path, filename, result);
            }
            catch (Exception ex)
            {
                Messages.Add("A error occurred please try again late");
                return(result);
            }
            return(result);
        }
示例#3
0
    protected void Awake()
    {
        orderManager = GetComponent <OrderManager>();
        Agora parentAgora = GetComponentInParent <Agora>();

        ConnectFreightTo(parentAgora);
    }
示例#4
0
 public void LeaveChannel()
 {
     Agora.LeaveChannel();
     Agora.DisableVideoObserver();
     // IRtcEngine.Destroy();
     //Agora = null;
 }
示例#5
0
        public static void ConvertFile(string sourceUrl, string targetPath)
        {
            IDataInterpreter dataInterpreter = new MinhaCDN();
            IDataReformat    dataReformat    = new Agora();

            string downloadPath = Path.ChangeExtension(targetPath, "tmp");

            try
            {
                //Primeiro, pegamos o arquivo da origem (download)
                DownloadFile(sourceUrl, downloadPath);

                //Vamos agora abrir o arquivo e deixá-lo em memória
                string fileContent = OpenFileContent(downloadPath);

                //Vamos interpretar o arquivo, pegando todos os eventos que encontrarmos
                List <DataEvent> dataEvents = dataInterpreter.InterpretData(fileContent);

                //E com os eventos, geramos a saída no formato que queremos
                string output = dataReformat.ReformatData(dataEvents);

                //Por último, flush nos dados
                SaveBufferToFile(output, targetPath);
            }
            catch (Exception e)
            {
                Console.WriteLine("Erro ao converter dados: " + e.Message);
            }
        }
示例#6
0
    // Use this for initialization
    void Start()
    {
        Agora = IRtcEngine.GetEngine(appId);
        Agora.EnableVideo();


        if (OnInitialize != null)
        {
            OnInitialize();
        }
    }
示例#7
0
        private void WriteFileOnPath(string path, string filename, Agora file)
        {
            var           eng = new FileHelperEngine <Campos>();
            StringBuilder sb  = new StringBuilder();

            sb.AppendLine(file.Header.ToString());
            sb.AppendLine(string.Join(" ", eng.Options.FieldsNames));
            sb.AppendLine(eng.WriteString(file.Campos));
            var bytes = Encoding.ASCII.GetBytes(sb.ToString());

            filename = $"/MinhaCDN_{DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss")}_{filename}";
            File.WriteAllBytes(string.Concat(path, filename), bytes);
        }
示例#8
0
    public void ConnectFreightTo(Agora agora)
    {
        FreightAreaData      agoraFreight          = agora.GetComponent <FreightAreaData>();
        FreightAreaIn        agoraAreaIn           = agoraFreight.freightAreaIn;
        FreightAreaOut       agoraAreaOut          = agoraFreight.freightAreaOut;
        HashSet <Collider2D> agoraTreatedColliders = agoraFreight.treatedColliders;

        FreightAreaData freightData = GetComponent <FreightAreaData>();

        freightData.freightAreaIn    = agoraAreaIn;
        freightData.freightAreaOut   = agoraAreaOut;
        freightData.treatedColliders = agoraTreatedColliders;
    }
		public void GetAPublicGoogleCalendar ()
		{
			IAgora agora = new Agora ();
			var pattayaILoveRoom1PublicUrl = "https://www.google.com/calendar/ical/sm0qpodqh5iedidbd4g0j9hsp0%40group.calendar.google.com/public/basic.ics";
			var taskRunCalendar = Task.Run (() => Calendar.Castoriadis.MainClass.Main (null));
			// wait until it's registered
			while (!agora.GetRegistrations().Any(reg => reg.Namespace == "calendar")) {
				Thread.Sleep (100);
			}
			var result = agora.ResolveSingle<dynamic> ("calendar", "calendar", new {
				Name="Pattaya I Love Room #1",
				Url = pattayaILoveRoom1PublicUrl
			}, 10000);
			Assert.NotNull (result);
		}
示例#10
0
        private List <Agora> GetAgoraList(List <MINHACDN> mINHACDNLogs)
        {
            var agoraLogs = new List <Agora>();

            foreach (var log in mINHACDNLogs)
            {
                var agora = new Agora
                {
                    CacheStatus     = log.CacheStatus,
                    HTTPMethod      = log.HTTPMethod,
                    ProtocolVersion = log.ProtocolVersion,
                    ResponseSize    = log.ResponseSize,
                    StatusCode      = log.StatusCode,
                    TimeTaken       = (int)log.TimeTaken,
                    UriPath         = log.UriPath
                };
                agoraLogs.Add(agora);
            }
            return(agoraLogs);
        }
		public void WebServerStartsAndResponds404 ()
		{
			IAgora agora = new Agora ();
			// start the web server
			var taskWeb = Task.Run(() => WebServer.MainClass.Main (new[]{"8080"}));
			while (!agora.GetRegistrations().Any(reg => reg.Namespace == "httpd")) {
				System.Threading.Thread.Sleep (100);
				agora.Refresh ();
			}
			System.Threading.Thread.Sleep (2000);
			if (taskWeb.Status != TaskStatus.Running) {
				throw taskWeb.Exception;
			}
			using (var wc = new WebClient()) {
				try{
					var text = wc.DownloadString ("http://localhost:8080/");
					Assert.Fail();
				}
				catch(WebException wex) {
					Assert.AreEqual ("The remote server returned an error: (404) Not Found.", wex.Message);
				}
			}
		}
示例#12
0
		public void TestCase ()
		{
			IAgora agora = new Agora ();
			var target = new NuGetFounder ();
			target.EnsureNamespace (agora, "httpd", "Castoriadis.WebServer");
		}
示例#13
0
 public void Mute()
 {
     Agora.DisableAudio();
 }
示例#14
0
 public void JoinChannel(string channel)
 {
     Agora.JoinChannel(channel, null, 0);
 }
示例#15
0
 protected new void Awake()
 {
     base.Awake();
     _agora = GetComponent <Agora>();
 }
示例#16
0
 public AgoraAdapter(Agora agora)
 {
     Agora = agora;
 }
 public AgoraLvl1EvolutionData(Agora agora)
 {
     _agora   = agora;
     building = agora.GetComponent <Building>();
 }