public void IrbisVersion_ParseServerResponse_2()
        {
            // В три строки
            ResponseBuilder builder = new ResponseBuilder();

            builder
            .AppendAnsi("64.2015.1").NewLine()
            .AppendAnsi("10").NewLine()
            .AppendAnsi("100000").NewLine();

            IrbisConnection connection = new IrbisConnection();

            byte[]         query    = new byte[0];
            byte[]         answer   = builder.Encode();
            ServerResponse response = new ServerResponse
                                      (
                connection,
                answer,
                query,
                true
                                      );

            IrbisVersion version = IrbisVersion.ParseServerResponse(response);

            Assert.IsNull(version.Organization);
            Assert.AreEqual("64.2015.1", version.Version);
            Assert.AreEqual(10, version.ConnectedClients);
            Assert.AreEqual(100000, version.MaxClients);
        }
        public void IrbisVersion_ParseServerResponse_1()
        {
            // В четыре строки
            ResponseBuilder builder = new ResponseBuilder();

            builder
            .AppendAnsi("Иркутский государственный технический университет").NewLine()
            .AppendAnsi("64.2015.1").NewLine()
            .AppendAnsi("10").NewLine()
            .AppendAnsi("100000").NewLine();

            IrbisConnection connection = new IrbisConnection();

            byte[]         query    = new byte[0];
            byte[]         answer   = builder.Encode();
            ServerResponse response = new ServerResponse
                                      (
                connection,
                answer,
                query,
                true
                                      );

            IrbisVersion version = IrbisVersion.ParseServerResponse(response);

            Assert.AreEqual("Иркутский государственный технический университет", version.Organization);
            Assert.AreEqual("64.2015.1", version.Version);
            Assert.AreEqual(10, version.ConnectedClients);
            Assert.AreEqual(100000, version.MaxClients);
        }
Beispiel #3
0
        public void IrbisProcessInfo_Parse_1()
        {
            IrbisConnection connection = new IrbisConnection();
            ResponseBuilder builder    = new ResponseBuilder();

            builder.AppendAnsi
            (
                "2\r\n"
                + "9\r\n"
                + "*\r\n"
                + "Local IP address\r\n"
                + "Сервер ИРБИС\r\n"
                + "*****\r\n"
                + "*****\r\n"
                + "20.11.2017 15:52:40\r\n"
                + "*****\r\n"
                + "*****\r\n"
                + "4284\r\n"
                + "Активный\r\n"
                + "1\r\n"
                + "Disconnected\r\n"
                + "1\r\n"
                + "994334\r\n"
                + "\"Каталогизатор\"\r\n"
                + "20.11.2017 15:53:40\r\n"
                + "IRBIS_MAXMFN\r\n"
                + "76\r\n"
                + "1036\r\n"
                + "Пассивный\r\n"
            );
            byte[]         rawAnswer = builder.Encode(), rawRequest = new byte[0];
            ServerResponse response  = new ServerResponse
                                       (
                connection,
                rawAnswer,
                rawRequest,
                true
                                       );

            IrbisProcessInfo[] processes = IrbisProcessInfo.Parse(response);
            Assert.AreEqual(2, processes.Length);
        }
        public void ServerStat_Parse_1()
        {
            ResponseBuilder builder = new ResponseBuilder();

            builder.AppendAnsi("10093797\r\n3\r\n9\r\n*\r\n127.0.0.1\r\n" +
                               "5555\r\nСервер ИРБИС\r\n*****\r\n*****\r\n" +
                               "13.10.2017 22:50:40\r\n*****\r\n*****\r\n*****\r\n1\r\n" +
                               "127.0.0.1\r\n5555\r\nandreevama\r\n424042\r\n" +
                               "\"Каталогизатор\"\r\n08.11.2017 7:47:05\r\n" +
                               "08.11.2017 14:57:32\r\nIRBIS_PREV_TRM\r\n140\r\n2\r\n" +
                               "127.0.0.1\r\n5555\r\nАлексееваТВ\r\n714689\r\n" +
                               "\"Каталогизатор\"\r\n08.11.2017 7:53:44\r\n" +
                               "08.11.2017 15:07:18\r\nIRBIS_SVR_FORMAT\r\n1890\r\n3\r\n" +
                               "127.0.0.1\r\n5555\r\nАлексееваТВ\r\n631372\r\n" +
                               "\"Каталогизатор\"\r\n08.11.2017 7:54:06\r\n" +
                               "08.11.2017 14:55:35\r\nIRBIS_NOOP\r\n169\r\n");

            IrbisConnection connection = new IrbisConnection();

            byte[]         query    = new byte[0];
            byte[]         answer   = builder.Encode();
            ServerResponse response = new ServerResponse
                                      (
                connection,
                answer,
                query,
                true
                                      );

            ServerStat stat = ServerStat.Parse(response);

            Assert.AreEqual(10093797, stat.TotalCommandCount);
            Assert.AreEqual(3, stat.ClientCount);
            Assert.AreEqual(9, stat.Unknown);
            Assert.IsNotNull(stat.RunningClients);
            Assert.AreEqual(4, stat.RunningClients.Length);
            Assert.AreEqual("Сервер ИРБИС", stat.RunningClients[0].Name);
            Assert.AreEqual("andreevama", stat.RunningClients[1].Name);
            Assert.AreEqual("\"Каталогизатор\"", stat.RunningClients[1].Workstation);
            Assert.AreEqual("IRBIS_PREV_TRM", stat.RunningClients[1].LastCommand);
        }