Skip to content

Commit

Permalink
office: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
rarpal committed Feb 18, 2016
0 parents commit 0549956
Show file tree
Hide file tree
Showing 12 changed files with 2,154 additions and 0 deletions.
208 changes: 208 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/

# Visual Studio 2015 cache/options directory
.vs/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUNIT
*.VisualState.xml
TestResult.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# DNX
project.lock.json
artifacts/

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

# Visual Studio profiler
*.psess
*.vsp
*.vspx

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# JustCode is a .NET coding add-in
.JustCode

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# NCrunch
_NCrunch_*
.*crunch*.local.xml

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config

# Windows Azure Build Output
csx/
*.build.csdef

# Windows Store app package directory
AppPackages/

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/

# Others
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# SQL Server files
*.mdf
*.ldf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings

# Microsoft Fakes
FakesAssemblies/

# Node.js Tools for Visual Studio
.ntvs_analysis.dat

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

gitpull.txt
gitpush.txt
159 changes: 159 additions & 0 deletions SSISUnit2012.Tests/ExternalFileResourceTestBase.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
using System.Collections.Generic;
using System.IO;
using System.Reflection;

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace SSISUnitTesting
{
using System;
using System.Globalization;

public class ExternalFileResourceTestBase
{
private List<string> _temporaryFiles;

[TestInitialize]
public virtual void Setup()
{
this._temporaryFiles = new List<string>();
}

[TestCleanup]
public void Teardown()
{
foreach (var temporaryFile in this._temporaryFiles)
{
Helper.DeletePath(temporaryFile);
}
}

protected string GetTempPath(string folderName, bool createFolder)
{
var tempPath = Path.Combine(Path.GetTempPath(), folderName);
this._temporaryFiles.Add(tempPath);
if (createFolder)
{
Directory.CreateDirectory(tempPath);
}

return tempPath;
}

protected string GetTempPath(string folderName)
{
return GetTempPath(folderName, false);
}

protected string CreateTempFile(string folder, string fileName)
{
return CreateTempFile(folder, fileName, string.Empty);
}

protected string CreateTempFile(string folder, string fileName, string content)
{
var filePath = Path.Combine(folder, fileName);
this._temporaryFiles.Add(filePath);
File.WriteAllText(filePath, content);
return filePath;
}

protected string GetTemporaryFile()
{
var tempFile = Path.GetTempFileName();
this._temporaryFiles.Add(tempFile);
return tempFile;
}

protected string GetTemporaryFileName()
{
var tempFile = GetTemporaryFile();
File.Delete(tempFile);
return tempFile;
}

protected string UnpackToString(string assemblyResource)
{
string result;
var stream = GetResourceStream(assemblyResource);

using (var sr = new StreamReader(stream))
{
using (var sw = new StringWriter())
{
sw.Write(sr.ReadToEnd());
sw.Flush();
result = sw.ToString();
}
}

return result;
}

private static Stream GetResourceStream(string assemblyResource)
{
var assembly = Assembly.GetExecutingAssembly();
var stream = assembly.GetManifestResourceStream(assemblyResource);
if (stream == null)
{
throw new ArgumentException(
string.Format(CultureInfo.CurrentCulture, "The resource ({0}) could not be found.", assemblyResource),
"assemblyResource");
}

return stream;
}

#if (SQL2005)
protected string UnpackToFile(string packageResource)
{
return UnpackToFile(packageResource, false);
}

protected string UnpackToFile(string packageResource, bool writeBytes)
#else
protected string UnpackToFile(string packageResource, bool writeBytes = false)
#endif
{
var tempFileName = Path.GetTempFileName();
var stream = GetResourceStream(packageResource);

if (writeBytes)
{
return UnpackBytesToFile(stream, tempFileName);
}

using (var sr = new StreamReader(stream))
{
using (StreamWriter sw = File.CreateText(tempFileName))
{
sw.Write(sr.ReadToEnd());
sw.Flush();
}
}

return tempFileName;
}

private string UnpackBytesToFile(Stream stream, string filename)
{
using (FileStream file = File.Create(filename))
{
CopyTo(stream, file);
}

return filename;
}

private void CopyTo(Stream input, Stream output)
{
byte[] buffer = new byte[8 * 1024];
int bytesRead;

while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytesRead);
}
}
}
}
Loading

0 comments on commit 0549956

Please sign in to comment.