Esempio n. 1
0
 public async override Task <ConcurrentBag <FileValue> > CalculateParallel(ConcurrentBag <string> filenames)
 {
     return(await Task.Run(() =>
     {
         ConcurrentBag <FileValue> list = new ConcurrentBag <FileValue>();
         foreach (var filename in filenames)
         {
             try
             {
                 long res = CalculateParallelPerByte(filename).Result;
                 FileValue @struct = new FileValue()
                 {
                     FilePath = filename, Summ = res
                 };
                 list.Add(@struct);
             }
             catch (Exception e)
             {
                 FileValue @struct = new FileValue()
                 {
                     FilePath = filename, Error = e.Message
                 };
                 list.Add(@struct);
             }
         }
         return list;
     }));
 }
Esempio n. 2
0
        protected RelativityFile GetFile(int fileFieldArtifactId, int ourFileContainerInstanceArtifactId)
        {
            using (IRSAPIClient proxyToWorkspace = CreateProxy())
            {
                try
                {
                    var fileRequest = new FileRequest(proxyToWorkspace.APIOptions);
                    fileRequest.Target.FieldId          = fileFieldArtifactId;
                    fileRequest.Target.ObjectArtifactId = ourFileContainerInstanceArtifactId;

                    RelativityFile returnValue;
                    var            fileData = invokeWithRetryService.InvokeWithRetry(() => proxyToWorkspace.Download(fileRequest));

                    using (MemoryStream ms = (MemoryStream)fileData.Value)
                    {
                        FileValue    fileValue    = new FileValue(null, ms.ToArray());
                        FileMetadata fileMetadata = fileData.Key.Metadata;

                        returnValue = new RelativityFile(fileFieldArtifactId, fileValue, fileMetadata);
                    }

                    return(returnValue);
                }
                catch (Exception ex)
                {
                    throw new ProxyOperationFailedException("Failed in method: " + System.Reflection.MethodInfo.GetCurrentMethod(), ex);
                }
            }
        }
Esempio n. 3
0
        public override async Task <CaptureResult> Capture()
        {
            var result = new CaptureResult();

            try
            {
                if (fileManager.Exists(root))
                {
                    var files = new List <FileValue>();
                    foreach (var path in expandedFilenames)
                    {
                        if (fileManager.Exists(path))
                        {
                            var file = new FileValue();
                            file.RelativePath = Path.GetRelativePath(root, path);
                            file.Contents     = await fileManager.ReadAllBytes(path);

                            files.Add(file);
                        }
                    }
                    FilesValue value = new FilesValue();
                    value.Files    = files.ToArray();
                    result.Value   = value.ToDictionary();
                    result.Success = true;
                }
            }
            catch (Exception e)
            {
                logger.LogError(e, "Failed to capture files");
            }
            return(result);
        }
Esempio n. 4
0
 private void Main_FileCompleteNotifier(FileValue fileValue, bool successful, string err = null)
 {
     App.Current.Dispatcher.Invoke(delegate // <--- HERE
     {
         FileValues.Add(fileValue);
     });
 }
Esempio n. 5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testReadFullValue() throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testReadFullValue()
        {
            Stream @is = this.GetType().ClassLoader.getResourceAsStream("org/camunda/bpm/engine/test/standalone/variables/simpleFile.txt");

            sbyte[]         data            = new sbyte[@is.available()];
            DataInputStream dataInputStream = new DataInputStream(@is);

            dataInputStream.readFully(data);
            dataInputStream.close();
            MockValueFields valueFields = new MockValueFields();
            string          filename    = "file.txt";

            valueFields.TextValue      = filename;
            valueFields.ByteArrayValue = data;
            string mimeType = "text/plain";
            string encoding = "UTF-16";

            valueFields.TextValue2 = mimeType + SEPARATOR + encoding;

            FileValue fileValue = serializer.readValue(valueFields, true);

            assertThat(fileValue.Filename, @is(filename));
            assertThat(fileValue.MimeType, @is(mimeType));
            assertThat(fileValue.Encoding, @is("UTF-16"));
            assertThat(fileValue.EncodingAsCharset, @is(Charset.forName("UTF-16")));
            checkStreamFromValue(fileValue, "text");
        }
        public List <FileValue> GetAllFileValueList()
        {
            log.In();

            List <FileValue> fileValueList = new List <FileValue>();

            SQLiteCommand comm = connection.CreateCommand();

            comm.CommandText = "select * from " + IntermediateLogConstants.TABLE_NAME_LOG_FILES;

            using (SQLiteDataReader reader = comm.ExecuteReader())
            {
                while (reader.Read())
                {
                    FileValue value = new FileValue();
                    value.ID   = int.Parse(reader[IntermediateLogConstants.COL_NAME_LF_ID].ToString());
                    value.Name = reader[IntermediateLogConstants.COL_NAME_LF_FILE_NAME].ToString();

                    fileValueList.Add(value);
                }
            }

            log.Out(fileValueList);

            return(fileValueList);
        }
Esempio n. 7
0
 private static void DefineProcess20(ISingleStream <Stream> contextStream)
 {
     // System.Text.Json.JsonSerializer
     // Newtonsoft.Json.JsonSerializer
     contextStream
     .Select("Create file value", i => FileValue.Create(i, i is FileStream fileStream ? fileStream.Name : "fileName.csv", "from stream"))
     .CrossApply <IFileValue, Person>("parse file", (fileValue, dependencyResolver, cancellationToken, push) =>
     {
         var parsedFile = Newtonsoft.Json.Linq.JObject.Parse(new StreamReader(fileValue.GetContent()).ReadToEnd());
         var jPeople    = parsedFile["people"] as JArray;
         foreach (var jPerson in jPeople)
         {
             if (cancellationToken.IsCancellationRequested)
             {
                 return;
             }
             push(new Person
             {
                 FirstName = (string)jPerson["TheFirstName"],
                 LastName  = (string)jPerson["TheLastName"],
                 Email     = (string)jPerson["TheEmail"],
             });
         }
     })
     .Do("write to console", i => Console.WriteLine(i.Email));
 }
Esempio n. 8
0
        /// <summary>
        /// Insert file name to LogFile table
        /// </summary>
        /// <param name="fileName">File name</param>
        /// <returns>File value</returns>
        private FileValue InsertFileName(string fileName)
        {
            log.InPrivate(fileName);

            string truncFileName = fileName.Substring(fileName.LastIndexOf(@"\") + 1);

            using (SQLiteCommand comm = connection.CreateCommand())
            {
                comm.CommandText
                    = "insert into " + IntermediateLogConstants.TABLE_NAME_LOG_FILES
                      + "(" + IntermediateLogConstants.COL_NAME_LF_FILE_NAME + ") "
                      + "values(@Value)";

                comm.Parameters.Add("Value", System.Data.DbType.String);
                comm.Parameters["Value"].Value = truncFileName;

                comm.ExecuteNonQuery();
            }

            long id = GetFileID(truncFileName);

            FileValue val = new FileValue();

            val.ID   = id;
            val.Name = truncFileName;

            log.OutPrivate(val);
            return(val);
        }
Esempio n. 9
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void fileByteArrayIsEqualToFileValueContent() throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void fileByteArrayIsEqualToFileValueContent()
        {
            Stream file     = this.GetType().ClassLoader.getResourceAsStream("org/camunda/bpm/engine/test/variables/simpleFile.txt");
            string fileName = "simpleFile.txt";

            FileValue fileValue = Variables.fileValue(fileName).file(file).create();

            file = this.GetType().ClassLoader.getResourceAsStream("org/camunda/bpm/engine/test/variables/simpleFile.txt");
            assertThat(IoUtil.inputStreamAsByteArray(fileValue.Value), equalTo(IoUtil.inputStreamAsByteArray(file)));
        }
Esempio n. 10
0
        protected internal virtual FileValue createFile()
        {
            string fileName = "text.txt";
            string encoding = "crazy-encoding";
            string mimeType = "martini/dry";

            FileValue fileValue = Variables.fileValue(fileName).file("ABC".GetBytes()).encoding(encoding).mimeType(mimeType).create();

            return(fileValue);
        }
Esempio n. 11
0
        protected IFileValue ProcessValueToOutput(IList <TIn> value)
        {
            MemoryStream stream      = new MemoryStream();
            var          excelReader = Args.Mapping.GetExcelReader();

            value.WriteExcelListInStream(excelReader, stream);
            return(FileValue.Create(stream, this.Args.FileName, new ExcelFileValueMetadata
            {
                Map = excelReader.GetTextMapping()
            }));
        }
Esempio n. 12
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void fileByteArrayIsEqualToFileValueContentCase2() throws java.io.IOException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void fileByteArrayIsEqualToFileValueContentCase2()
        {
            sbyte[] bytes      = new sbyte[] { (sbyte)-16, (sbyte)-128, (sbyte)-128, (sbyte)-128 };
            Stream  byteStream = new MemoryStream(bytes);

            string fileName = "simpleFile.txt";

            FileValue fileValue = Variables.fileValue(fileName).file(byteStream).create();

            assertThat(IoUtil.inputStreamAsByteArray(fileValue.Value), equalTo(bytes));
        }
Esempio n. 13
0
 public FileValueModel(FileValue value)
 {
     Id         = value.Id;
     ResourceId = value.Resource.Id;
     ResourceAttributeUsageId = value.ResourceAttributeUsage.Id;
     Name             = value.Name;
     Extention        = value.Extention;
     Minmetype        = value.Minmetype;
     Data             = value.Data;
     AttributeName    = value.ResourceAttributeUsage.ResourceStructureAttribute.Name;
     NeedConfirmation = value.NeedConfirmation;
 }
Esempio n. 14
0
        protected RelativityFile GetFile(int fileFieldArtifactId, int ourFileContainerInstanceArtifactId)
        {
            var fileData = rsapiProvider.DownloadFile(fileFieldArtifactId, ourFileContainerInstanceArtifactId);

            using (MemoryStream ms = (MemoryStream)fileData.Value)
            {
                FileValue    fileValue    = new FileValue(null, ms.ToArray());
                FileMetadata fileMetadata = fileData.Key.Metadata;

                return(new RelativityFile(fileFieldArtifactId, fileValue, fileMetadata));
            }
        }
Esempio n. 15
0
        /// <summary>
        /// Creates a response for a variable of type <seealso cref="ValueType.FILE"/>.
        /// </summary>
        protected internal virtual Response responseForFileVariable(FileValue fileValue)
        {
            string type = fileValue.MimeType != null ? fileValue.MimeType : MediaType.APPLICATION_OCTET_STREAM;

            if (fileValue.Encoding != null)
            {
                type += "; charset=" + fileValue.Encoding;
            }
            object value = fileValue.Value == null ? "" : fileValue.Value;

            return(Response.ok(value, type).header("Content-Disposition", "attachment; filename=" + fileValue.Filename).build());
        }
Esempio n. 16
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWriteEmptyFilenameOnlyValue()
        public virtual void testWriteEmptyFilenameOnlyValue()
        {
            string      filename    = "";
            FileValue   fileValue   = Variables.fileValue(filename).create();
            ValueFields valueFields = new MockValueFields();

            serializer.writeValue(fileValue, valueFields);

            assertThat(valueFields.ByteArrayValue, @is(nullValue()));
            assertThat(valueFields.TextValue, @is(filename));
            assertThat(valueFields.TextValue2, @is(nullValue()));
        }
Esempio n. 17
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWriteMimetypeFilenameAndBytesValueWithShortcutMethod() throws java.net.URISyntaxException, java.io.UnsupportedEncodingException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testWriteMimetypeFilenameAndBytesValueWithShortcutMethod()
        {
            File        file        = new File(this.GetType().ClassLoader.getResource("org/camunda/bpm/engine/test/standalone/variables/simpleFile.txt").toURI());
            FileValue   fileValue   = Variables.fileValue(file);
            ValueFields valueFields = new MockValueFields();

            serializer.writeValue(fileValue, valueFields);

            assertThat(new string(valueFields.ByteArrayValue, "UTF-8"), @is("text"));
            assertThat(valueFields.TextValue, @is("simpleFile.txt"));
            assertThat(valueFields.TextValue2, @is("text/plain" + SEPARATOR));
        }
Esempio n. 18
0
        /// <summary>
        /// Write analyzed log to internal database
        /// </summary>
        /// <param name="fileName">Log file name</param>
        /// <param name="logStream">Stream of log file</param>
        /// <param name="enc">Log file encoding</param>
        public void Write(string fileName, Stream logStream, Encoding enc)
        {
            log.In(logStream);

            // Reset line count
            lineCount = 0;

            using (SQLiteTransaction trans = connection.BeginTransaction())
            {
                StreamReader reader = new StreamReader(new BufferedStream(logStream), enc);

                FileValue file = InsertFileName(fileName);

                ParsedLogLine prevParsedLog = null;

                while (true)
                {
                    string line = reader.ReadLine();
                    if (line == null)
                    {
                        break;
                    }

                    ParsedLogLine logLine = ParseLine(file, line, regex, columnDefList);
                    if (logLine != null)
                    {
                        // If log line has error then set previous datetime value for sorting
                        if (logLine.HasError)
                        {
                            ParsedLogColumn col = GetDateTimeColumn(prevParsedLog);

                            if (col != null)
                            {
                                logLine.ColumnList.Add(col);
                            }
                        }
                        else
                        {
                            prevParsedLog = logLine;
                        }

                        lineCount++;
                        logLine.LineNumber = lineCount;
                        InsertLogLine(logLine);
                    }
                }

                trans.Commit();
            }

            log.Out();
        }
Esempio n. 19
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testReadNullFilenameValue()
        public virtual void testReadNullFilenameValue()
        {
            MockValueFields valueFields = new MockValueFields();
            string          filename    = null;

            valueFields.TextValue = filename;

            FileValue fileValue = serializer.readValue(valueFields, true);

            assertThat(fileValue.Filename, @is(""));
            assertThat(fileValue.MimeType, @is(nullValue()));
            assertThat(fileValue.Value, @is(nullValue()));
        }
Esempio n. 20
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWriteFilenameAndEncodingValue()
        public virtual void testWriteFilenameAndEncodingValue()
        {
            string      filename    = "test.txt";
            string      encoding    = "UTF-8";
            FileValue   fileValue   = Variables.fileValue(filename).encoding(encoding).create();
            ValueFields valueFields = new MockValueFields();

            serializer.writeValue(fileValue, valueFields);

            assertThat(valueFields.ByteArrayValue, @is(nullValue()));
            assertThat(valueFields.TextValue, @is(filename));
            assertThat(valueFields.TextValue2, @is(SEPARATOR + encoding));
        }
Esempio n. 21
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void valueInfoContainsFileTypeNameAndStringEncoding()
        public virtual void valueInfoContainsFileTypeNameAndStringEncoding()
        {
            Stream    file      = this.GetType().ClassLoader.getResourceAsStream("org/camunda/bpm/engine/test/variables/simpleFile.txt");
            string    fileName  = "simpleFile.txt";
            string    fileType  = "text/plain";
            string    encoding  = "UTF-8";
            FileValue fileValue = Variables.fileValue(fileName).file(file).mimeType(fileType).encoding(encoding).create();
            IDictionary <string, object> info = type.getValueInfo(fileValue);

            assertThat(info, hasEntry(FileValueTypeImpl.VALUE_INFO_FILE_NAME, (object)fileName));
            assertThat(info, hasEntry(FileValueTypeImpl.VALUE_INFO_FILE_MIME_TYPE, (object)fileType));
            assertThat(info, hasEntry(FileValueTypeImpl.VALUE_INFO_FILE_ENCODING, (object)encoding));
        }
Esempio n. 22
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWriteMimetypeAndFilenameValue()
        public virtual void testWriteMimetypeAndFilenameValue()
        {
            string      filename    = "test.txt";
            string      mimeType    = "text/json";
            FileValue   fileValue   = Variables.fileValue(filename).mimeType(mimeType).create();
            ValueFields valueFields = new MockValueFields();

            serializer.writeValue(fileValue, valueFields);

            assertThat(valueFields.ByteArrayValue, @is(nullValue()));
            assertThat(valueFields.TextValue, @is(filename));
            assertThat(valueFields.TextValue2, @is(mimeType + SEPARATOR));
        }
Esempio n. 23
0
        public override void FieldDeleting(SPListEventProperties properties)
        {
            if (properties.Field.TypeDisplayName == SPFileFieldName)
            {
                // Если удаляется столбец SPFileField, то
                // 1) Удаляем все связные файлы, если они есть
                for (int i = 0; i < properties.List.Items.Count; i++)
                {
                    SPListItem splistItem = properties.List.Items[i];
                    FileValue  fileValue  = splistItem[properties.Field.StaticName] as FileValue;

                    if (fileValue == null)
                    {
                        continue;
                    }

                    SPFile spFile = properties.Web.GetFile(fileValue.UniqueID);
                    spFile.Delete();
                }

                // Проверяем, останутся ли после удаления столбцы типа SPFileField
                bool anyFileFieldExist = false;
                for (int i = 0; i < properties.List.Fields.Count; i++)
                {
                    if (properties.List.Fields[i].TypeAsString == SPFileFieldName &&
                        properties.List.Fields[i].StaticName != properties.Field.StaticName)
                    {
                        anyFileFieldExist = true;
                        break;
                    }
                }

                // 2) Отписываемся от триггера, если больше нет колонок типа SPFileField
                if (!anyFileFieldExist)
                {
                    for (int i = 0; i < properties.List.EventReceivers.Count;)
                    {
                        if (properties.List.EventReceivers[i].Class == ER_OnItemDeleting.ER_OnItemDeleting.ER_OnItemDeletingName)
                        {
                            properties.List.EventReceivers[i].Delete();
                        }
                        else
                        {
                            i++;
                        }
                    }
                }
            }

            base.FieldDeleting(properties);
        }
Esempio n. 24
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWriteMimetypeFilenameAndBytesValue() throws java.io.UnsupportedEncodingException
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
        public virtual void testWriteMimetypeFilenameAndBytesValue()
        {
            string      filename    = "test.txt";
            string      mimeType    = "text/json";
            Stream      @is         = this.GetType().ClassLoader.getResourceAsStream("org/camunda/bpm/engine/test/standalone/variables/simpleFile.txt");
            FileValue   fileValue   = Variables.fileValue(filename).mimeType(mimeType).file(@is).create();
            ValueFields valueFields = new MockValueFields();

            serializer.writeValue(fileValue, valueFields);

            assertThat(new string(valueFields.ByteArrayValue, "UTF-8"), @is("text"));
            assertThat(valueFields.TextValue, @is(filename));
            assertThat(valueFields.TextValue2, @is(mimeType + SEPARATOR));
        }
Esempio n. 25
0
        public void TestCreateXml_NoFile()
        {
            FileParameter p = new FileParameter();
            FileValue     v = p.Value as FileValue;

            v.Path = "NoFileHere.txt";
            Assert.IsFalse(v.IsValid);

            XElement   xml       = p.CreateXml();
            var        valueNode = xml.Descendants("value").First();
            XAttribute pathAttr  = valueNode.Attribute("path");

            Assert.IsNotNull(pathAttr);
            Assert.AreEqual(v.Path, pathAttr.Value);
            Assert.IsNull(valueNode.FirstNode);
        }
Esempio n. 26
0
        public void TestRestore_WithFile()
        {
            FileParameter p = new FileParameter();
            FileValue     v = p.Value as FileValue;

            v.Path = "TestFile.txt";
            XElement xml = p.CreateXml();

            FileParameter p2 = new FileParameter();

            p2.Restore(xml);

            FileValue v2 = p2.Value as FileValue;

            Assert.AreEqual(v.Path, v2.Path);
            Assert.AreEqual(v.Bytes.Length, v2.Bytes.Length);
        }
Esempio n. 27
0
        public void TestCreateXml_WithFile()
        {
            FileParameter p = new FileParameter();
            FileValue     v = p.Value as FileValue;

            v.Path = "TestFile.txt";
            Assert.IsTrue(v.IsValid);

            XElement   xml       = p.CreateXml();
            var        valueNode = xml.Descendants("value").First();
            XAttribute pathAttr  = valueNode.Attribute("path");

            Assert.IsNotNull(pathAttr);
            Assert.AreEqual(v.Path, pathAttr.Value);
            Assert.IsNotNull(valueNode.FirstNode);
            Assert.IsTrue(valueNode.FirstNode.NodeType == System.Xml.XmlNodeType.CDATA);
        }
Esempio n. 28
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testHistoricDetailBinaryForFileValues()
        public virtual void testHistoricDetailBinaryForFileValues()
        {
            // given
            BpmnModelInstance instance = createProcess();

            testRule.deploy(instance);
            FileValue fileValue = createFile();

            runtimeService.startProcessInstanceByKey("Process", Variables.createVariables().putValueTyped("fileVar", fileValue));

            string byteArrayValueId = ((HistoricDetailVariableInstanceUpdateEntity)historyService.createHistoricDetailQuery().singleResult()).ByteArrayValueId;

            // when
            ByteArrayEntity byteArrayEntity = configuration.CommandExecutorTxRequired.execute(new GetByteArrayCommand(byteArrayValueId));

            checkBinary(byteArrayEntity);
        }
Esempio n. 29
0
        private void Main_FileCompleteNotifier(FileValue fileValue, bool successful, string err = null)
        {
            BeginInvoke((Action)(() =>
            {
                fileValue.FileName = Path.GetFileName(fileValue.FilePath);
                fileValues.Add(fileValue);
                //dataGridView1.DataSource = new BindingList<FileValue>(fileValues);

                //MessageBox.Show("значение: " + res + ".");
                if (!string.IsNullOrEmpty(fileValue.Params))
                {
                    //richTextBox1.AppendText(fileValue.Params + "\n");
                    //if(richTextBox1.Lines.Length!=0)
                    //richTextBox1.SelectionStart = richTextBox1.Find(richTextBox1.Lines[richTextBox1.Lines.Length-1]);
                    //richTextBox1.ScrollToCaret();
                }
            }));
        }
Esempio n. 30
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Ignore @Test public void testHistoryServiceEngineAccess_HistoricDetailBinaryFile()
        public virtual void testHistoryServiceEngineAccess_HistoricDetailBinaryFile()
        {
            HistoricDetailQuery    query    = mock(typeof(HistoricDetailQuery));
            HistoricVariableUpdate instance = mock(typeof(HistoricVariableUpdate));
            string filename = "test.txt";

            sbyte[]   byteContent   = "test".GetBytes();
            string    encoding      = "UTF-8";
            FileValue variableValue = Variables.fileValue(filename).file(byteContent).mimeType(ContentType.TEXT.ToString()).encoding(encoding).create();

            when(instance.TypedValue).thenReturn(variableValue);
            when(query.singleResult()).thenReturn(instance);
            when(mockHistoryService.createHistoricDetailQuery()).thenReturn(query);

            given().pathParam("name", EXAMPLE_ENGINE_NAME).then().expect().statusCode(Status.OK.StatusCode).body(@is(equalTo(StringHelper.NewString(byteContent)))).and().header("Content-Disposition", "attachment; filename=" + filename).contentType(CoreMatchers.either <string>(equalTo(ContentType.TEXT.ToString() + ";charset=UTF-8")).or(equalTo(ContentType.TEXT.ToString() + " ;charset=UTF-8"))).when().get(HISTORY_BINARY_DETAIL_URL);

            verify(mockHistoryService).createHistoricDetailQuery();
            verifyZeroInteractions(processEngine);
        }