Ejemplo n.º 1
0
        /// <summary>
        /// Get internal http and internal https ct_netzone.
        /// </summary>
        /// <returns>An array of ct_netzone type instances.</returns>
        private ct_netzone[] GetNetZones()
        {
            string fakedWOPIClientActionHostName = string.Format(@"{0}.com", Guid.NewGuid().ToString("N"));

            // HTTP net zone
            ct_netzone httpNetZone = GetSingleNetZoneForWopiDiscoveryResponse(st_wopizone.internalhttp, fakedWOPIClientActionHostName);

            // HTTPS Net zone
            ct_netzone httpsNetZone = GetSingleNetZoneForWopiDiscoveryResponse(st_wopizone.internalhttps, fakedWOPIClientActionHostName);

            return(new ct_netzone[] { httpNetZone, httpsNetZone });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get a single ct_netzone type instance for current test client.
        /// </summary>
        /// <param name="netZoneType">protocol and intended network-type </param>
        /// <param name="fakedWOPIClientActionHostName">Host name for the action of the WOPI client supports.</param>
        /// <returns>A ct_netzone type instance.</returns>
        private ct_netzone GetSingleNetZoneForWopiDiscoveryResponse(st_wopizone netZoneType, string fakedWOPIClientActionHostName)
        {
            string clientName = Dns.GetHostName();

            string transportValue = st_wopizone.internalhttp == netZoneType ? Uri.UriSchemeHttp : Uri.UriSchemeHttps;
            Random radomInstance  = new Random((int)DateTime.UtcNow.Ticks & 0x0000FFFF);
            string appName        = string.Format(
                @"MSWOPITESTAPP {0} _for {1} WOPIServer_{2}",
                radomInstance.Next(),
                clientName,
                netZoneType);

            Uri favIconUrlValue = new Uri(
                string.Format(@"{0}://{1}/wv/resources/1033/FavIcon_Word.ico", transportValue, fakedWOPIClientActionHostName),
                UriKind.Absolute);

            Uri urlsrcValueOfTextFile = new Uri(
                string.Format(@"{0}://{1}/wv/wordviewerframe.aspx?&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;&lt;showpagestats=PERFSTATS&amp;&gt;", transportValue, fakedWOPIClientActionHostName),
                UriKind.Absolute);

            Uri urlsrcValueOfZipFile = new Uri(
                string.Format(@"{0}://{1}/wv/zipviewerframe.aspx?&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;&lt;showpagestats=PERFSTATS&amp;&gt;", transportValue, fakedWOPIClientActionHostName),
                UriKind.Absolute);

            Uri urlsrcValueOfUsingprogid = new Uri(
                string.Format(@"{0}://{1}/o/onenoteframe.aspx?edit=0&amp;&lt;ui=UI_LLCC&amp;&gt;&lt;rs=DC_LLCC&amp;&gt;&lt;showpagestats=PERFSTATS&amp;&gt;", transportValue, fakedWOPIClientActionHostName),
                UriKind.Absolute);

            // Setting netZone's sub element's values
            ct_appname appElement = new ct_appname();

            appElement.name         = appName;
            appElement.favIconUrl   = favIconUrlValue.OriginalString;
            appElement.checkLicense = true;

            // Action element for txt file
            ct_wopiaction actionForTextFile = new ct_wopiaction();

            actionForTextFile.name     = st_wopiactionvalues.view;
            actionForTextFile.ext      = "txt";
            actionForTextFile.requires = "containers";
            actionForTextFile.@default = true;
            actionForTextFile.urlsrc   = urlsrcValueOfTextFile.OriginalString;

            // Action element for txt file
            ct_wopiaction formeditactionForTextFile = new ct_wopiaction();

            formeditactionForTextFile.name     = st_wopiactionvalues.formedit;
            formeditactionForTextFile.ext      = "txt";
            formeditactionForTextFile.@default = true;
            formeditactionForTextFile.urlsrc   = urlsrcValueOfTextFile.OriginalString;

            ct_wopiaction formViewactionForTextFile = new ct_wopiaction();

            formViewactionForTextFile.name     = st_wopiactionvalues.formsubmit;
            formViewactionForTextFile.ext      = "txt";
            formViewactionForTextFile.@default = true;
            formViewactionForTextFile.urlsrc   = urlsrcValueOfTextFile.OriginalString;

            // Action element for zip file
            ct_wopiaction actionForZipFile = new ct_wopiaction();

            actionForZipFile.name     = st_wopiactionvalues.view;
            actionForZipFile.ext      = "zip";
            actionForZipFile.@default = true;
            actionForZipFile.urlsrc   = urlsrcValueOfZipFile.OriginalString;

            // Action elements for one note.
            ct_wopiaction actionForOneNote = new ct_wopiaction();

            actionForOneNote.name     = st_wopiactionvalues.view;
            actionForOneNote.ext      = "one";
            actionForOneNote.requires = "cobalt";
            actionForOneNote.@default = true;
            actionForOneNote.urlsrc   = urlsrcValueOfUsingprogid.OriginalString;

            // Action elements for one note.
            ct_wopiaction actionForOneNoteProg = new ct_wopiaction();

            actionForOneNoteProg.name     = st_wopiactionvalues.view;
            actionForOneNoteProg.progid   = progid;
            actionForOneNoteProg.requires = "cobalt,containers";
            actionForOneNoteProg.@default = true;
            actionForOneNoteProg.urlsrc   = urlsrcValueOfUsingprogid.OriginalString;

            // Action element for wopitest file
            ct_wopiaction actionForWopitestFile = new ct_wopiaction();

            actionForWopitestFile.name     = st_wopiactionvalues.view;
            actionForWopitestFile.ext      = "wopitest";
            actionForWopitestFile.requires = "containers";
            actionForWopitestFile.@default = true;
            actionForWopitestFile.urlsrc   = urlsrcValueOfTextFile.OriginalString;

            ct_wopiaction formeditactionForWopitestFile = new ct_wopiaction();

            formeditactionForWopitestFile.name     = st_wopiactionvalues.formedit;
            formeditactionForWopitestFile.ext      = "wopitest";
            formeditactionForWopitestFile.@default = true;
            formeditactionForWopitestFile.urlsrc   = urlsrcValueOfTextFile.OriginalString;

            ct_wopiaction formViewactionForWopitestFile = new ct_wopiaction();

            formViewactionForWopitestFile.name     = st_wopiactionvalues.formsubmit;
            formViewactionForWopitestFile.ext      = "wopitest";
            formViewactionForWopitestFile.@default = true;
            formViewactionForWopitestFile.urlsrc   = urlsrcValueOfTextFile.OriginalString;

            // Add action elements into the app element.
            appElement.action = new ct_wopiaction[] {
                actionForTextFile,
                actionForOneNote,
                actionForZipFile,
                formeditactionForTextFile,
                formViewactionForTextFile,
                actionForOneNoteProg,
                actionForWopitestFile,
                formeditactionForWopitestFile,
                formViewactionForWopitestFile
            };

            // Add app element into the netzone element.
            ct_netzone netZoneInstance = new ct_netzone();

            netZoneInstance.app           = new ct_appname[] { appElement };
            netZoneInstance.name          = netZoneType;
            netZoneInstance.nameSpecified = true;
            return(netZoneInstance);
        }